Commit graph

10 commits

Author SHA1 Message Date
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
Renamed from src/components/views/rooms/RoomSublist2.tsx (Browse further)