Travis Ralston
d593d24aea
Switch to an internal Map for previews
...
This means we're abusing the AsyncStoreWithClient to get access to a lifecycle, but overall that seems like a minor crime compared to the time spend abusing the store's state as a map.
With thousands of rooms shown, we can save on average 743ms per preview. The new preview time is 0.12ms on average.
2020-07-22 10:50:54 -06: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
Michael Telatynski
6bb9be56cd
Merge pull request #5025 from matrix-org/t3chguy/room-list/14662
...
Update message previews
2020-07-22 10:03:30 +01: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
6a38833a2b
Ensure incremental updates to the ImportanceAlgorithm trigger A-Z order
...
Fixes https://github.com/vector-im/riot-web/issues/14475
Background: Sticky rooms are actually a pair of lies to the underlying algorithm as a combination of REMOVE_ROOM/NEW_ROOM calls so they don't get considered as needing to be sorted. When a room is added under the importance algorithm, it is expected that the category it is being added to will be re-sorted to account for the change, however we weren't doing that since we optimized the NewRoom path to be a splice operation.
2020-07-21 14:12:58 -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
Jorik Schellekens
be5db851ca
Revert unsafe rename and use boolean coercion
2020-07-21 10:29:05 +01:00
Michael Telatynski
193a0d89af
Prefix message previews for emotes with a *
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-21 09:31:22 +01:00
Michael Telatynski
eb0e9ecab4
Remove message previews for state events
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-21 09:28:27 +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
6433e163f7
Use variable name instead of _
2020-07-20 20:55:35 +01:00
Jorik Schellekens
4ba1f91a2b
Fix lint issues in new code
2020-07-20 20:43:55 +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
29defa3e57
Tag Watcher don't create new filter if not needed, confuses references
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-20 14:36:12 +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
Travis Ralston
209a5d2220
Rename RoomListStore2 class name
...
We use `RoomListStore` as a singleton, and don't want the ugly `2` at the end of the actual store instance, so here we rename it to something half-decent.
2020-07-17 15:10:30 -06:00
Travis Ralston
62b58e18e9
Remove the temporary room list store proxy
2020-07-17 14:25:56 -06:00
Travis Ralston
1810711380
Dismantle usage of the proxy store class
2020-07-17 14:25:09 -06:00
Travis Ralston
06336a88b3
Remove setting for old room list
2020-07-17 14:06:30 -06:00
Travis Ralston
c29da883db
Convert room list log setting to a real setting
...
To debug https://github.com/vector-im/riot-web/issues/14554 and https://github.com/vector-im/riot-web/issues/14508
2020-07-16 14:43:43 -06:00
Michael Telatynski
725fa7df9b
Merge pull request #4997 from matrix-org/t3chguy/fix/14526
...
Fix filtering by community not showing DM rooms with community members
2020-07-16 12:41:50 +01:00
Michael Telatynski
b1d57ca13e
Merge pull request #4996 from matrix-org/t3chguy/room-list/14491
...
Fix enter in new room list filter breaking things
2020-07-16 12:41:39 +01:00
Michael Telatynski
3498922882
Fix filtering by community not showing DM rooms with community members
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-16 09:13:23 +01:00
Michael Telatynski
2f959a974a
Fix enter in new room list filter breaking things
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-16 06:31:06 +01:00
Michael Telatynski
0097ba24a4
When removing a filter condition, try recalculate in case it wasn't the last one
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-16 05:52:39 +01:00
Travis Ralston
945dab6b1f
Revert "Turn previews on for DMs and ensure they get rendered"
...
This reverts commit b19ae3ac93
.
2020-07-14 13:36:28 -06:00
Travis Ralston
f6b9d44e4b
Invert logging
2020-07-14 13:18:06 -06:00
Travis Ralston
b19ae3ac93
Turn previews on for DMs and ensure they get rendered
2020-07-14 12:49:29 -06:00
Travis Ralston
d74e803fa9
Remove potential source of room duplication issues
...
This is an estimated fix as the problem cannot be easily identified. We don't appear to need these lines, unlike what the comment implies.
2020-07-14 12:40:48 -06:00
Travis Ralston
e955feb12d
Revert "Merge pull request #4972 from matrix-org/travis/room-list/prelaunch/3-remove-debug"
...
This reverts commit e1b34acdc8
.
2020-07-14 12:02:40 -06:00
Travis Ralston
e1b34acdc8
Merge pull request #4972 from matrix-org/travis/room-list/prelaunch/3-remove-debug
...
Remove debug logging from new room list
2020-07-14 09:56:17 -06:00
J. Ryan Stinnett
f16962bb41
Merge pull request #4970 from matrix-org/travis/room-list/prelaunch/1-cleanup
...
Clean up TODOs, comments, and imports in the new room list
2020-07-14 09:38:30 +01:00
Travis Ralston
6632db01cf
Remove debug logging from new room list
...
Fixes https://github.com/vector-im/riot-web/issues/14408
Yes, all the issue references are wrong :(
2020-07-13 20:34:05 -06:00
Travis Ralston
4a8a59c578
Make EffectiveMembership utils generic
...
Fixes https://github.com/vector-im/riot-web/issues/14460
Just have to move them to utils.
2020-07-13 20:29:46 -06:00
Travis Ralston
bdb136e24e
Clean up TODOs, comments, and imports in the new room list
...
Fixes https://github.com/vector-im/riot-web/issues/14412
2020-07-13 20:25:02 -06:00
Travis Ralston
19500cf96a
Allow the tests to force a MatrixClient
2020-07-13 13:24:02 -06:00
Travis Ralston
eb78b1b328
Export the matrix client from the store
2020-07-13 13:18:01 -06:00
Travis Ralston
a8829f09d0
Ensure RoomListStore2 gets reset when the client becomes invalidated
...
Fixes https://github.com/vector-im/riot-web/issues/14384
We also make use of the new AsyncStore type to handle this more safely.
2020-07-13 13:15:44 -06:00
Travis Ralston
1f57b85b30
Merge pull request #4962 from matrix-org/travis/room-list/leave-fix
...
Ensure tag changes (leaving rooms) causes rooms to move between lists
2020-07-13 12:44:23 -06:00
Travis Ralston
d2c7a55fa0
Ensure tag changes (leaving rooms) causes rooms to move between lists
...
Fixes https://github.com/vector-im/riot-web/issues/14442
Turns out that we are so good at moving a room that when it flows through as a TIMELINE update the algorithm no-ops and does nothing, so don't do that.
2020-07-13 12:00:56 -06:00
Travis Ralston
40ab3e23c6
Add a null guard on the client
2020-07-13 10:09:46 -06:00
Travis Ralston
9a3744ebb2
Fix default sorting mechanics for new room list
...
Fixes https://github.com/vector-im/riot-web/issues/14445
2020-07-13 09:54:15 -06:00
Travis Ralston
0908e813fb
Merge branch 'develop' into travis/room-list/enable
2020-07-12 22:50:27 -06:00
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