Commit graph

172 commits

Author SHA1 Message Date
Michael Telatynski
3f51bb84e1 Fix RoomAvatar viewAvatarOnClick to work on actual avatars instead of default ones
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-12 18:24:28 +01:00
Travis Ralston
47380306c2 Move and improve notification state handling
Previously we were creating a notification state whenever we needed one, which was leading to hundreds of listeners even on a small account. To ease the burden, and reduce the load of having to wake so many listeners, we now record a single listener for each tag ID and room combination.

This commit also introduces a number of utilities to make future notification work a bit of an easier transition, such as the `isX` and `hasX` getters on the new NotificationState abstract class. Similarly, "snapshots" have been added to reduce code duplication between different kinds of states checking for updates.

The ListNotificationState is now heavily tied into the store which offers it to help reuse the cache of room notification states. 

Fixes https://github.com/vector-im/riot-web/issues/14370
2020-07-08 19:26:25 -06:00
Jorik Schellekens
e3dbda2abf Fix tests 2020-07-07 16:44:15 +01:00
Jorik Schellekens
bc4167180c Lint whitespaces and semis 2020-07-07 15:40:05 +01:00
Jorik Schellekens
8458572032 lint 2020-07-07 15:18:10 +01:00
Jorik Schellekens
0d6e7759d0 Fix review details
- spelling mistake
- unwatch watched setting
- lint (indentation)
- use more performant component
2020-07-07 15:11:08 +01:00
Jorik Schellekens
527fe24cd6 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into joriks/room-list-voip 2020-07-07 15:04:22 +01:00
Jorik Schellekens
5176685d20 Implement incoming call box 2020-07-06 23:05:00 +01:00
Michael Telatynski
4c7014167d Improve a11y of default BaseAvatar
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-05 01:06:36 +01:00
Travis Ralston
45f4a2a980 Fix imports for NotificationStates 2020-07-02 13:28:06 -06:00
Jorik Schellekens
2379ec577c Lint semicolons 2020-06-30 23:39:25 +01:00
Jorik Schellekens
0904ae8c7a Bug fixes 2020-06-30 23:35:59 +01:00
Jorik Schellekens
dcd51b5be3 Implement breadcrumb notifications and scrolling 2020-06-30 23:24:46 +01:00
Michael Telatynski
d1084afb92
Merge pull request #4643 from matrix-org/t3chguy/fix-memberavatar
MemberAvatar should not have its own letter fallback, it should use BaseAvatar
2020-05-26 13:41:15 +01:00
Michael Telatynski
f8d2124aa3 MemberAvatar should not have its own letter fallback, it should use BaseAvatar's
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-26 13:33:47 +01:00
Michael Telatynski
0861b1fbec remove redundant props
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-25 19:05:02 +01:00
Michael Telatynski
148f215d4e clean up
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-25 19:02:44 +01:00
Michael Telatynski
cf7acded50 Simply BaseAvatar hooks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-24 14:12:16 +01:00
Michael Telatynski
880e16aaa2 Merge branches 'develop' and 't3chguy/leaks' of github.com:matrix-org/matrix-react-sdk into t3chguy/leaks
 Conflicts:
	src/components/views/avatars/BaseAvatar.js
	test/components/views/messages/TextualBody-test.js
2020-05-23 11:12:58 +01:00
Jorik Schellekens
6d9d4ee547 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into joriks/font-scaling-slider 2020-05-20 13:46:17 +01:00
Michael Telatynski
5844bee8f2 Merge branches 'develop' and 't3chguy/leaks' of github.com:matrix-org/matrix-react-sdk into t3chguy/leaks
 Conflicts:
	src/components/views/avatars/BaseAvatar.js
2020-05-15 00:16:41 +01:00
Travis Ralston
a5f3318f3b Convert view_user dispatch to prove the conversion works
This is a relatively obvious dispatch action that doesn't require a lot of complicated type definitions, so should be a good candidate to prove the thing works. If for some reason the thing stops working, we've done something wrong.

This also adds a bit of generic types to the dispatch call so we don't confuse the tsx parser by using `dis.dispatch(<ViewUserPayload>{...})` as it thinks that's supposed to be a component. We still get type safety, and the thing remains happy with the generics approach.
2020-05-13 21:07:50 -06:00
Travis Ralston
90a898d03f Move dispatcher into a subdirectory
We're expecting to have a whole bunch of types for the dispatched payloads, so pull the thing into a directory we can throw them in.
2020-05-13 21:07:50 -06:00
Jorik Schellekens
fc6e5227ac FIx roomsublist heights.
- also fiddles the font size numbers
2020-05-13 22:24:22 +01:00
Jorik Schellekens
1b83faaa8d Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into joriks/font-scaling-slider 2020-04-28 15:38:46 +01:00
Jorik Schellekens
fe326b9f08 Enfore function name capitalisation 2020-04-28 14:31:49 +01:00
Jorik Schellekens
00c0212c03 Revert previous fix 2020-04-27 17:35:52 +01:00
Jorik Schellekens
c995e2e021 Fix info avatar 2020-04-27 17:29:03 +01:00
Jorik Schellekens
b567b95fad Lint 2020-04-27 17:27:54 +01:00
Jorik Schellekens
bfba5e6cfe Fix member info avatar size 2020-04-27 16:57:38 +01:00
Jorik Schellekens
3f56ed393d Use a function to convert to rem. 2020-04-27 11:51:54 +01:00
Jorik Schellekens
e2aef3a62b Fix pills.
This was a hard pill to swallow
2020-04-27 11:51:54 +01:00
Jorik Schellekens
05d11fea69 Use a function to convert to rem. 2020-04-23 10:45:46 +01:00
Jorik Schellekens
1ff0f3445a Fix pills.
This was a hard pill to swallow
2020-04-23 10:45:46 +01:00
Travis Ralston
47e5cfecf2 Silence usages of componentWillReceiveProps
For https://github.com/vector-im/riot-web/issues/12877
2020-04-01 14:35:39 -06:00
Travis Ralston
3f99332f4b Use componentDidMount in place of componentWillMount where possible
This fixes a common React warning we see. Most of these components should be using constructors instead, however componentDidMount is just as good (and doesn't require converting most of these).

Conversion to classes will be done in a later stage of React warning fixes.

For https://github.com/vector-im/riot-web/issues/12877
2020-03-31 14:14:17 -06:00
Michael Telatynski
80c2aa51b6 Transition BaseAvatar to hooks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-21 10:41:33 +00:00
J. Ryan Stinnett
576434e8c8
Merge pull request #3855 from matrix-org/jryans/custom-status-leak
Fix event handler leak in MemberStatusMessageAvatar
2020-01-16 22:05:50 +00:00
J. Ryan Stinnett
03448313e6 Fix event handler leak in MemberStatusMessageAvatar
A typo led to an event handler leak with the custom status labs feature. A new
handler would leak each time you change rooms, which can add up over the course
of a long-lived session.
2020-01-16 21:52:36 +00:00
Travis Ralston
869fd0b2c9 Fix not being able to open profiles from the timeline
MemberAvatar was referencing the wrong dispatcher (it was imported as `dis`, like everywhere else, not `dispatcher`).

Fixes https://github.com/vector-im/riot-web/issues/11887
2020-01-16 09:40:11 -07:00
Travis Ralston
5fd27a10bb Merge branch 'develop' into travis/sourcemaps 2020-01-13 11:19:41 -07:00
J. Ryan Stinnett
77b479d50c Guard against missing members in avatars
Part of https://github.com/vector-im/riot-web/issues/11744
2020-01-13 12:29:10 +00:00
Travis Ralston
3e5cc9550b Fix import merge conflicts, removing any that aren't needed anymore
Many imports were removed as part of refactoring work, so here we are.
2020-01-09 14:17:33 -07:00
Travis Ralston
fde32f13a5 [CONFLICT CHUNKS] Merge branch 'develop' into travis/sourcemaps-develop 2020-01-09 14:15:09 -07:00
Travis Ralston
9edc361afc Use new imports for js-sdk's ContentRepo
Per f4d1c5c006
2020-01-03 12:29:22 -07:00
Michael Telatynski
1098fc939a
Merge pull request #3771 from matrix-org/t3chguy/ReactDOM.findDOMNode
stop using ReactDOM.findDOMNode in componentWillUnmount, use refs
2019-12-23 17:16:47 +00:00
Michael Telatynski
17f5849985 stop using ReactDOM.findDOMNode in componentWillUnmount, use refs 2019-12-23 12:24:49 +00:00
Travis Ralston
d002c2ccde Merge branch 'travis/babel7-wp-es6-export' into travis/sourcemaps-es6 2019-12-22 21:20:13 -07:00
Travis Ralston
f1ac3d2f64 Convert imports to ES6 from CommonJS
This is needed because `require()` means something different in webpack - it ends up importing the module as something we didn't expect (and is occasionally async)
2019-12-22 21:16:06 -07:00
Travis Ralston
042bd35d79 Fix MatrixClientPeg imports 2019-12-22 21:15:54 -07:00