Commit Graph

45 Commits (7022ab4f8ae74723e0d19f77147352d926ae49cb)

Author SHA1 Message Date
Michael Telatynski aff9be6120 Surface unsent messages on the sublist notification badge too 2021-09-10 10:58:13 +01:00
Michael Telatynski ce78cdf4ad Conform to new react and typescript eslint rules 2021-07-19 22:43:11 +01:00
Michael Telatynski 191591e807 Make the critical sections of the RLS synchronous to avoid needing to mutex everything 2021-07-16 09:15:56 +01:00
J. Ryan Stinnett ae0a8b8da4 Auto-fix lint errors 2021-06-29 13:11:58 +01:00
Michael Telatynski a839d0f396 More typescript conversion 2021-06-22 17:23:13 +01:00
Germain Souquet b4cb275ca1 Fix expanding last collapsed sticky session when zoomed in 2021-06-09 17:59:41 +01:00
Germain Souquet fd69fce1ba guard event listener from null values 2021-05-28 17:37:29 +01:00
Germain Souquet f10e95956b Use passive option for scroll handler 2021-05-28 14:59:14 +01:00
Germain Souquet 650b683761 Reposition sticky headers when layout has changed 2021-05-28 10:31:42 +01:00
Germain 776b7100b5
Merge pull request #6086 from matrix-org/gsouquet/middle-pane-resize 2021-05-26 09:46:09 +01:00
Germain Souquet ac93cc514f Prevent layout trashing when resizing the window 2021-05-25 10:28:20 +01:00
Germain Souquet cdecc156df Remove unused prop 2021-05-24 17:30:37 +01:00
Germain Souquet 422740f13b normalize displayName 2021-05-20 11:04:17 +01:00
Jaiwanth 54e139a6ad Generate previews when the room tile is maximised 2021-05-03 23:17:10 +05:30
Michael Telatynski 35799c213e Fix suggested rooms not showing up regression from room list optimisation 2021-04-27 16:30:54 +01:00
Germain Souquet f1453e8d2b extract always visible logic to RoomList 2021-04-16 09:43:59 +01:00
Germain Souquet 02debd12f6 Hide RoomSublist when empty rather than unmounting them 2021-04-15 16:11:45 +01:00
Germain Souquet a59873df0b Set rooms event listeners during the correct life cycle hook 2021-04-15 15:51:00 +01:00
Clemens Zeidler 2a21d45ac0 Merge branch 'develop' into key-bindings 2021-03-12 16:44:12 +13:00
Travis Ralston e5180a472f Merge branch 'develop' into travis/skinning/pt3-easy-comps 2021-03-10 12:30:06 -07:00
Michael Telatynski 81e1f36c4b Tidy up TemporaryTile now that it isn't temporary 2021-03-09 11:19:41 +00:00
Travis Ralston c5935dbc61 Batch of views getting replaceableComponent decorators 2021-03-08 20:23:46 -07:00
Clemens Zeidler 601be50b71 Split KeyAction into multiple enums
This gives some additional type safety and makes enum member usage more
clear.
2021-03-01 21:43:00 +13:00
Clemens Zeidler 32ec8b7dc8 Add key bindings for RoomList, Room and Navigation 2021-02-28 20:13:34 +13:00
Travis Ralston 57562560d2
Merge pull request #5331 from Transfusion/invisible_rooms_notif_badge
Search through the list of unfiltered rooms rather than the rooms in the state which are already filtered by the search text
2020-11-18 15:24:01 -07:00
Michael Telatynski fa9490b02b Add skeleton UI for Room List when no rooms 2020-11-02 17:22:45 +00:00
Michael Telatynski fefd374a32 Fix case where sublist context menu missed an update
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-19 14:34:47 +01:00
Bryan Kok 176c7c32da Search through the list of unfiltered rooms rather than the rooms in the state which are already filtered by the search text 2020-10-17 14:35:11 +08:00
Michael Telatynski 9ba33c7f80 Fix eslint ts override tsx matching and delint 2020-08-29 01:11:08 +01:00
Michael Telatynski b8a260bb84 Change add room action for rooms to context menu 2020-08-13 16:18:26 +01:00
Michael Telatynski a095f858b0
Merge pull request #5087 from matrix-org/t3chguy/fix/14868
Make the room sublist show more/less buttons treeitems
2020-08-08 10:46:57 +01:00
Michael Telatynski f1505833b7 Make the room sublist show more/less buttons treeitems 2020-08-05 09:56:31 +01:00
J. Ryan Stinnett ce226ab534 Replace Riot with Element in docs and comments
This only covers the simple cases of references to issues and repos. More
complex areas, such as deployment scripts, will be handled separately.

Part of https://github.com/vector-im/element-web/issues/14864
2020-08-03 18:33:36 +01:00
Travis Ralston 49abfc1fb2 Ensure sublists are updated when rooms are removed from them
Fixes https://github.com/vector-im/riot-web/issues/14798 (part 2)

This is in two parts itself: The `RoomSublist` needs to break its references to the `RoomListStore`, so it now clones the room arrays. The `Algorithm` is the other part, which is slightly more complicated.

It turns out that we weren't handling splicing as a change in the `ImportanceAlgorithm`, therefore the `Algorithm` wasn't really feeling like it needed to change anything. Further, the `Algorithm` was using the wrong reference to where it should be dumping rooms (`this.cachedRooms` is a getter which returns a different object depending on conditions), so having fixed that we need to ensure that the filtered and sticky maps are also updated when we remove a room. Because we send the new tag through a Timeline update, we'll end up updating the tag later on and don't need to update the filter and sticky collections.
2020-07-30 15:06:04 -06:00
Travis Ralston e953bfbf88 Replace flawed objectHasValueChange usage with objectHasDiff
Fixes https://github.com/vector-im/riot-web/issues/14782

We need to check if the keys changed, not just the values.
2020-07-30 14:08:18 -06: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 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
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 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 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
Travis Ralston d7ada5f7c5 Remove TODO flags 2020-07-17 15:47:37 -06:00
Travis Ralston c9b0b3b31d RoomSublist2 -> RoomSublist 2020-07-17 15:46:46 -06:00