Commit graph

10 commits

Author SHA1 Message Date
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
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
c22cb6c325 Short-circuit room list store dispatch handling if not ready
We were taking 0.2ms to handle the registration of a timer per event during startup, even before the app is visible to the user. These timers would be short-circuited too, leading to a bunch of wasted time.

0.2ms isn't a lot of time, but multiplied by thousands of events at startup it's pretty significant.

On my account this reduces the full page spinner time from ~50 seconds to just over 20 seconds.
2020-07-22 13:35:41 -06:00
Jorik Schellekens
a06cc77411 Remove unused imports 2020-07-21 15:34:00 +01:00
Jorik Schellekens
501e0c29ca Merge remote-tracking branch 'origin' into joriks/eslint-config 2020-07-21 15:32:50 +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
4ba1f91a2b Fix lint issues in new code 2020-07-20 20:43:55 +01:00
Travis Ralston
7fc5ba50c8 Update references to issues 2020-07-17 16:22:33 -06:00
Travis Ralston
1cce6e2e32 Enable new room list store forever 2020-07-17 15:14:58 -06:00
Travis Ralston
2b15ba21dd Rename RoomListStore file 2020-07-17 15:11:34 -06:00
Renamed from src/stores/room-list/RoomListStore2.ts (Browse further)