Commit graph

9 commits

Author SHA1 Message Date
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
Travis Ralston
a7fe7cb28d Merge remote-tracking branch 'origin/develop' into travis/room-list/sticky 2020-06-07 13:06:30 -06:00
Travis Ralston
9b928b5a5d Handle remaining cases for room updates in new room list
For https://github.com/vector-im/riot-web/issues/13635

This adds support for:
* Tag changes
* DM changes
* Marking our own rooms as read
* Our own membership changes

The remaining branch we didn't need was the alternate 'new room' branch, so it was removed.

This is not optimized - optimization is deferred.
2020-06-05 20:12:32 -06:00
Travis Ralston
6548748d7c Introduce sticky rooms to the new room list
Originally this was intended to be done only in the importance algorithm, however it is clear that all algorithms will need to deal with this. As such, it has been put into the base class to deal with as we may override it in the future. 

This commit should be self-documenting enough to describe what is going on, though the major highlight is that the handling of the sticky room is done by lying to the underlying algorithm.

This has not been optimized for performance yet.

For https://github.com/vector-im/riot-web/issues/13635
2020-06-05 18:44:38 -06:00
Travis Ralston
73a8e77d32 Add initial filtering support to new room list
For https://github.com/vector-im/riot-web/issues/13635

This is an incomplete implementation and is mostly dumped in this state for review purposes. The remainder of the features/bugs are expected to be in more bite-sized chunks.

This exposes the RoomListStore on the window for easy access to things like the new filter functions (used in debugging).

This also adds initial handling of "new rooms" to the client, though the support is poor.

Known bugs:
* [ ] Regenerates the entire room list when a new room is seen.
* [ ] Doesn't handle 2+ filters at the same time very well (see gif. will need a priority/ordering of some sort).
* [ ] Doesn't handle room order changes within a tag yet, despite the docs implying it does.
2020-06-01 16:49:22 -06:00
Travis Ralston
aafbd7f208 Update misc documentation and spell indices correctly 2020-05-14 13:01:51 -06:00
Travis Ralston
9f0810240f Clean up imports and other minor lints 2020-05-14 12:46:16 -06:00
Travis Ralston
5dda7f02cf Early handling of dispatched events
A possible approach to handling the various triggers for recategorizing rooms.
2020-05-14 12:46:16 -06:00
Travis Ralston
08419d195e Initial breakout for room list rewrite
This does a number of things (sorry):
* Estimates the type changes needed to the dispatcher (later to be replaced by https://github.com/matrix-org/matrix-react-sdk/pull/4593)
* Sets up the stack for a whole new room list store, and later components for usage.
* Create a proxy class to ensure the app still functions as expected when the various stores are enabled/disabled
* Demonstrates a possible structure for algorithms
2020-05-14 12:44:29 -06:00