Travis Ralston
3561de3f8a
Merge pull request #5054 from matrix-org/travis/perf6
...
Minor improvements to filtering performance
2020-07-28 06:37:27 -06:00
Michael Telatynski
e7ec34e61e
Fix TextWithTooltip "leaking" tooltip wrappers
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-07-28 10:13:13 +01:00
Travis Ralston
2a8881f753
Fix typing error
2020-07-27 17:41:23 -06:00
Travis Ralston
900c234434
Internalize notification state handling for lists
...
This reduces the update cost of rooms changing, and fixes a bug where when a sublist became filtered it would change the notification count of the sublist.
This does change the expected usage of the state store to ensuring that only one place updates the rooms on the list states, which is currently the room list store. Ideally the state store could listen to the room list store to update itself, however due to a complicated require() loop it is not possible.
2020-07-27 17:33:27 -06:00
Travis Ralston
517c93a7d5
Move expand-on-filter into the sublist
...
It's a bit more complicated this way, but helps reduce some of the latency involved in remounting the entire room list.
2020-07-27 16:35:48 -06:00
Travis Ralston
c6033b9410
Move search out of RoomList and LeftPanel, into RoomSearch
...
This prevents the entire left panel from having to re-mount whenever the search query changes.
2020-07-27 16:35:48 -06:00
Travis Ralston
42498d32cc
Move community filtering into the sublist
...
This is a step towards the room list not having to concern itself with the search parameters.
2020-07-27 16:35:48 -06:00
Michael Telatynski
a74470aff0
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/room-list/desync
...
Conflicts:
src/components/views/rooms/RoomTile.tsx
2020-07-27 14:42:26 +01:00
Michael Telatynski
368d1bf699
delint
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-07-27 14:40:41 +01:00
Michael Telatynski
1085d89e11
RoomList listen to notificationState updates for bolding
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-07-27 14:39:30 +01:00
Travis Ralston
8e7b60b11e
Remove useless if statement
2020-07-24 14:07:37 -06:00
Travis Ralston
593b472e50
Ensure notification badges stop listening when they unmount
2020-07-24 14:02:43 -06:00
Travis Ralston
46f9d44e64
Use PureComponent instead
...
It ranges wildly between 10 and 50ms while ours is stable at 30-40ms, but the effort doesn't need to be duplicated.
2020-07-24 13:58:21 -06:00
Travis Ralston
e3800dba0e
Remove debug logging
2020-07-24 13:23:51 -06:00
Travis Ralston
c3623f439c
Rip hover support out of the RoomTile component
...
It's all handled by CSS and this literally does nothing but spam renders.
2020-07-24 13:10:39 -06:00
Travis Ralston
37035f945b
Move message previews into RoomTile's state
...
Now that it doesn't re-render without state updates, we should just wedge it into state.
2020-07-24 13:09:26 -06:00
Travis Ralston
09808fa7be
Only update RoomTiles when they change significantly
2020-07-24 12:58:10 -06:00
Travis Ralston
d26fcb7f16
Update src/components/views/rooms/RoomList.tsx
...
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com >
2020-07-24 11:16:40 -06:00
Travis Ralston
4d7980eb07
Ensure references to the room list store are broken for diffing
...
See commit diff for details.
2020-07-24 10:38:04 -06:00
Travis Ralston
0a31bd169c
Skip updates in collapsed lists too
2020-07-24 10:20:00 -06:00
Travis Ralston
82f90c4734
Do the faster length change check first
...
... because it's faster. Also we don't need to diff the array here.
2020-07-23 22:31:52 -06:00
Travis Ralston
fd15fc3984
Ensure message previews update when needed
...
In 9969b01c5f we stopped updating the sublist whenever we felt like it, which indirectly froze message previews for room tiles (badges, unread state, etc were unaffected because that is managed by a different store). To fix this, we simply have to listen for changes and perform an update.
2020-07-23 22:24:07 -06:00
Travis Ralston
7e50464eeb
Fix filtering causing sticky header artifacts
...
In 7b97c3032b we reduced the RoomList updates to just added/removed sublists, but didn't consider that we might also have to handle lengths of those sublists changing enough for us to fix the sticky headers.
2020-07-23 22:19:16 -06:00
Travis Ralston
9969b01c5f
Only render sublists when they change significantly
...
We can ignore off-screen updates, so do that. See diff for more details on what we're doing.
2020-07-23 22:13:32 -06:00
Travis Ralston
ad92e6ba00
Don't constantly re-mount the sublists with a new addRoomFn
...
Any time we though that the room list had to re-render we were dynamically creating a new addRoomFn, which would signal to the sublist that it needed to re-render.
The only reason we wrap the function from the aesthetics is to provide theoretical tiling/multiaccount support through use of different dispatchers, however considering that's not a reality yet we can just use a default dispatcher when none is supplied.
2020-07-23 22:12:10 -06:00
Travis Ralston
7b97c3032b
Make the sublists aware of their own list changes
...
This cuts the render time in half (from ~448ms to ~200ms on my account) per received event, as we're no longer re-mounting the entire room list and instead just the section(s) we care about.
2020-07-23 21:36:43 -06:00
Michael Telatynski
60a6b13f4b
Merge pull request #5026 from matrix-org/t3chguy/room-list/14440
...
Put low priority xor toggle back in the room list context menu
2020-07-24 00:02:50 +01:00
Travis Ralston
2abec8b100
Disable lint in InviteDialog
2020-07-23 15:58:06 -06:00
Michael Telatynski
ff8f1af01e
Merge pull request #5037 from matrix-org/t3chguy/room-list/14705
...
Fix BaseAvatar wrongly using Buttons when it needs not
2020-07-23 09:27:20 +01:00
Michael Telatynski
6546f98e18
Fix BaseAvatar wrongly using Buttons when it needs not
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-07-22 20:01:14 +01:00
Travis Ralston
67fd6e6122
Merge pull request #5034 from matrix-org/travis/fix-perf
...
Mixed bag of performance improvements: ScrollPanel and notifications
2020-07-22 08:24:04 -06:00
Robin Townsend
83ab151d96
Translate create room buttons
...
Signed-off-by: Robin Townsend <robintown@tcakoi.dev >
2020-07-22 03:54:15 +00:00
Travis Ralston
c9da1e1874
Remove even more tags from the notification state fetching for a room
2020-07-21 20:58:59 -06:00
Travis Ralston
507fa01ade
Remove missed area for notification state fetching
2020-07-21 20:51:40 -06:00
Robin Townsend
951570a97f
Escape single quotes in composer placeholder
...
Signed-off-by: Robin Townsend <robintown@tcakoi.dev >
2020-07-22 00:47:48 +00:00
Hubert Chathi
cbe4f04cd7
Merge pull request #5029 from uhoreg/sanitize_language
...
don't syntax highlight languages that begin with "_"
2020-07-21 13:12:51 -04:00
Hubert Chathi
2ce493307e
don't syntax highlight languages that begin with "_"
2020-07-21 12:47:40 -04:00
Jorik Schellekens
501e0c29ca
Merge remote-tracking branch 'origin' into joriks/eslint-config
2020-07-21 15:32:50 +01:00
Travis Ralston
37aed54d12
Merge pull request #5024 from matrix-org/travis/room-list/custom-tags
...
Support custom tags in the room list again
2020-07-21 06:46:50 -06:00
Michael Telatynski
29c984455e
tidy up
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-07-21 13:43:42 +01:00
Michael Telatynski
ae069576f6
Fix the tag panel context menu
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-07-21 10:33:30 +01:00
Michael Telatynski
fe0c660fac
Put low priority xor toggle back in the room list context menu
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-07-21 09:50:20 +01:00
Travis Ralston
a0b2859436
Support custom tags in the room list again
...
Fixes https://github.com/vector-im/riot-web/issues/14091
Design needs work, however this is behind labs anyways. This re-implements the behaviour of the old room list.
The implementation ended up being a lot easier due to early confusion with what the TagOrderStore and TagPanel take care of. Turns out they don't deal with tags, but groups. As such, we don't need to do anything with filtering (though we keep some sanity checks in place for safety), and just have to wire up the CustomRoomTagPanel and CustomRoomTagStore.
2020-07-20 16:51:16 -06:00
Jorik Schellekens
c0ce6e8161
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into joriks/eslint-config
2020-07-20 20:44:52 +01:00
Michael Telatynski
9fca422de7
Merge branches 'develop' and 't3chguy/ts/2' of github.com:matrix-org/matrix-react-sdk into t3chguy/ts/2
2020-07-20 17:07:18 +01:00
Michael Telatynski
06cc76f7d8
mark some things as public
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2020-07-20 16:34:52 +01:00
Jorik Schellekens
b3fa855bd8
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into joriks/eslint-config
2020-07-20 16:22:32 +01:00
Michael Telatynski
0de6cada57
Merge pull request #5023 from matrix-org/t3chguy/room-list/14644
...
Add min-width to floating Jitsi
2020-07-20 15:24:26 +01:00
Michael Telatynski
9e6532e46e
Merge pull request #5016 from matrix-org/t3chguy/tooltips2
...
Use mouseleave instead of mouseout for hover events. Fix tooltip flicker
2020-07-20 15:19:32 +01:00
Michael Telatynski
476c3eb7c8
Merge pull request #5014 from matrix-org/t3chguy/tooltips
...
Fix field tooltips
2020-07-20 15:18:53 +01:00