Commit Graph

26384 Commits (1c52c2777eb92a457d1955f5c47390f22bf93fda)

Author SHA1 Message Date
Travis Ralston 1c52c2777e
Merge pull request #4949 from matrix-org/travis/room-list/mute-floats
Convert ImportanceAlgorithm over to using NotificationColor instead
2020-07-12 11:00:18 -06:00
Travis Ralston 31f1fbd962
Merge pull request #4951 from matrix-org/travis/room-list/fix-sublist-menu
Internalize algorithm updates in the new room list store
2020-07-11 12:15:53 -06:00
Travis Ralston b924dcc6ad
Merge pull request #4950 from matrix-org/travis/room-list/cleanup-resizing
Remove now-dead code from sublist resizing
2020-07-11 12:11:51 -06:00
Travis Ralston 0e49c4343c Internalize algorithm updates in the new room list store
Fixes https://github.com/vector-im/riot-web/issues/14411

The act of setting/changing the algorithm was causing the update function to be marked, meaning we wouldn't trigger an update until something else happened later. To get around this, and still support internal functions spamming calls without multiple updates, we simply move the guts to an internalized function and make the public interface do a trigger.
2020-07-10 21:59:12 -06:00
Travis Ralston e6c7e7c28e
Merge pull request #4948 from matrix-org/travis/room-list/fix-filter
Ensure triggered updates get fired for filters in the new room list
2020-07-10 16:52:02 -06:00
Travis Ralston cfc39dc4a9 Remove now-dead code from sublist resizing 2020-07-10 16:10:05 -06:00
Travis Ralston 3062d14a78 Convert ImportanceAlgorithm over to using NotificationColor instead
Fixes https://github.com/vector-im/riot-web/issues/14362 implicitly

By re-using constructs we already have, we don't need to invent code which figures it out.
2020-07-10 16:07:40 -06:00
Travis Ralston 87120c6c26 Ensure triggered updates get fired for filters in the new room list
Fixes https://github.com/vector-im/riot-web/issues/14404
2020-07-10 15:58:39 -06:00
Travis Ralston b5e9b5fc32
Merge pull request #4947 from matrix-org/travis/room-list/filter-fix
Handle off-cycle filtering updates in the new room list
2020-07-10 11:10:05 -06:00
Travis Ralston 9e76a2cebf Handle off-cycle filtering updates in the new room list 2020-07-10 11:07:47 -06:00
Travis Ralston 1175eb001f Fix bad merge 2020-07-10 11:01:11 -06:00
Travis Ralston 033ae988d6
Merge pull request #4941 from matrix-org/travis/room-list/showmore2
Make the show more button do a clean cut on the room list while transparent
2020-07-10 10:57:56 -06:00
Travis Ralston 477472c178 Merge branch 'develop' into travis/room-list/showmore2 2020-07-10 10:57:17 -06:00
Bruno Windels ae8d6f5523 make tsc happy 2020-07-10 18:48:54 +02:00
Bruno Windels 15ea3a5287 add types 2020-07-10 18:42:51 +02:00
Bruno Windels 85ac256231 cleanup 2020-07-10 18:40:09 +02:00
Bruno Windels e2aa6ecf6b fix show X more counter 2020-07-10 18:40:09 +02:00
Bruno Windels 86817430c5 update initially shown amount of tiles on component update
as rooms aren't all available at ctor time
2020-07-10 18:40:09 +02:00
Bruno Windels 96f2968854 make all height changes update component state
also set visibleTiles as side-effect
2020-07-10 18:40:09 +02:00
Bruno Windels 652fb9e613 track height in pixels in component state 2020-07-10 18:40:09 +02:00
Bruno Windels 49f7170d95 extract type 2020-07-10 18:31:53 +02:00
Bruno Windels 725b7f8950 make show more button a bit less tall 2020-07-10 18:30:52 +02:00
Bruno Windels d5a3071518 put show more button inside resizer
this way we have a flexbox layout in the resizer with:
 - the resize handle (fixed)
 - the show more/less button, if any (fixed)
 - the list of tiles (grabbing whatever is left)
2020-07-10 18:29:39 +02:00
Travis Ralston 976f7381ab Merge remote-tracking branch 'origin/joriks/room-list-fix-search-padding' into develop 2020-07-10 08:53:30 -06:00
Travis Ralston 2bf2a08e7a Mark safari hacks 2020-07-10 08:52:46 -06:00
Travis Ralston 37a8b68539 Merge remote-tracking branch 'origin/joriks/room-list-safari-fix' into develop 2020-07-10 08:51:31 -06:00
Travis Ralston d88dad46b1
Merge pull request #4943 from matrix-org/travis/room-list/perf/dedupe-recalc
Reduce event loop load caused by duplicate calculations in the new room list
2020-07-10 08:39:13 -06:00
Travis Ralston 26427817f2 Fix potential listener conflict with RVS
If the RVS ever emits something that contains `trigger: false`, we're pretty screwed, so avoid that.
2020-07-10 08:18:40 -06:00
Travis Ralston 46d53e5c8c Reset before trigger just in case the function triggers too 2020-07-10 08:14:33 -06:00
Travis Ralston a5ba0cad1f Rename to trigger and add docs 2020-07-10 08:13:23 -06:00
Travis Ralston ef18cd5ca1 Merge branch 'develop' into travis/room-list/perf/dedupe-recalc 2020-07-10 07:18:12 -06:00
Travis Ralston 840a4127db
Merge pull request #4944 from matrix-org/travis/room-list/perf/log-disable
Add an option to disable room list logging, and improve logging
2020-07-10 07:16:56 -06:00
Bruno Windels 42e101340e
Merge pull request #4942 from matrix-org/joriks/room-list-breadcrumbs-scroll-fade
Scroll fade for breadcrumbs
2020-07-10 10:37:55 +00:00
Jorik Schellekens e4366632cf Fix search padding 2020-07-10 02:54:11 +01:00
Jorik Schellekens 60695838d6
Merge pull request #4927 from matrix-org/joriks/room-list-auto-expand-on-search
Auto expand room list on search
2020-07-10 02:45:13 +01:00
Jorik Schellekens ceff68476d Remove useless dispatches 2020-07-10 02:25:47 +01:00
Jorik Schellekens 1983591cbf Remove unused actions 2020-07-10 02:22:34 +01:00
Jorik Schellekens edb556f22e Stop safari from agressivly shrinking 2020-07-10 02:15:46 +01:00
Travis Ralston cf154ec9cf Add an option to disable room list logging, and improve logging
For https://github.com/vector-im/riot-web/issues/14035

**This option is not recommended as it completely obliterates all chances of being able to support someone with a broken room list. It is intended for specific testing scenarios only.**
2020-07-09 18:19:38 -06:00
Travis Ralston 8624e8beeb Break up the event loop tasks for the room list
The room list does a hefty amount of work, so instead of blocking the event loop with a `/sync` request and a bunch of room updates (as we can get multiple per sync) we can instead run it over several smaller tasks. The smaller tasks help the event loop do other things between our tasks, ensuring we don't inadvertently block the UI from rendering too slowly.

On my account and machine, this cuts the time to render in half (~30ms, down from ~60ms) .
2020-07-09 15:11:21 -06:00
Travis Ralston 1315f34662 Dedupe room list store updates by marking for updates
The core of this is in the MarkedExecution class, with the remainder of the commit ensuring that the right marks and triggers are in place to do the firing.

Because everything is async/await and run through the RoomListStore, we don't have to worry about self-fed updates in the algorithm classes. This also means we have to trigger pretty much all the time. 

Changes to tag ordering / list sorting get hit through two paths, so we mark before we do a bulk update and otherwise assume the call is coming in from outside.
2020-07-09 14:53:14 -06:00
Travis Ralston 859f65659c Attempt to support a hard cutoff with the show more button
Known issues:
* Causes scroll jumps when the button gets added to DOM
* Resize handle is invisible when there's a show more button

TODO:
* Clean up comments
* Clean up useless code (all the padding stuff isn't needed)
2020-07-09 13:07:13 -06:00
Travis Ralston f9e8487d5a
Merge pull request #4939 from matrix-org/travis/room-list/fix-community-badge
Fix rough badge alignment for community invite tiles again
2020-07-09 12:26:47 -06:00
Travis Ralston 8ca15d8185
Merge pull request #4940 from matrix-org/travis/room-list/sticky-rooms
Improve safety of new rooms in the room list
2020-07-09 12:25:47 -06:00
Jorik Schellekens e2539f11cd Scroll fade for breadcrumbs 2020-07-09 19:24:02 +01:00
Bruno Windels ce68314de9 Revert "Merge pull request #4932 from matrix-org/travis/room-list/invisible-show-more"
This reverts commit f58a0a7538.
2020-07-09 12:13:12 -06:00
Travis Ralston f8e1996e2f Handle NewRoom and PossibleTagChange updates correctly
For new rooms, we need to append to our list of known rooms. For tag changes, we need to be sure to update our cache when the tag can reasonably be assumed to have changed.

Fixes https://github.com/vector-im/riot-web/issues/14389
2020-07-09 12:08:40 -06:00
Travis Ralston 00fc34924c Fix rooms disappearing that were created by the user
Fixes https://github.com/vector-im/riot-web/issues/14388

We were receiving a read receipt before a room object, leading to the algorithm to assume the room is archived (no membership), which was causing later index issues when the room tried to get moved from archived to untagged.

To prevent this, we just ignore nonsensical updates.
2020-07-09 11:39:40 -06:00
Jorik Schellekens 8a7bebc6bf lint 2020-07-09 18:37:18 +01:00
Jorik Schellekens ade89ab4e9 Move sublist auto expand to out from layouts
Co-authored-by: Travis Ralston <travpc@gmail.com>
2020-07-09 18:32:28 +01:00