Commit graph

212 commits

Author SHA1 Message Date
Travis Ralston
e88788f4e9 Handle event decryption too 2020-05-14 12:46:16 -06:00
Travis Ralston
4a0d14e322 Make missing rooms throw instead
For now at least. We shouldn't encounter this case until we get around to adding support for newly-joined rooms.
2020-05-14 12:46:16 -06:00
Travis Ralston
e1fab9a5b6 Work out the new category index for each room update
See comments within for details on what this means.
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
ecf8090b75 Handle DMs 2020-05-14 12:44:49 -06:00
Travis Ralston
d244eeb5d5 Break up algorithms and use the new layering
Sorting and ordering has now been split apart. The ImportanceAlgorithm also finally makes use of the sorting.

So far metrics look okay at 3ms for a simple account, though this could potentially get worse due to the multiple loops involved (one for tags, one for categories, one for ordering). We might be able to feed a whole list of rooms into the thing and have it regenerate the lists on demand.
2020-05-14 12:44:49 -06:00
Travis Ralston
e7fffee175 Remove the need for a tag manager
Instead putting the tag handling in the Algorithm class
2020-05-14 12:44:49 -06:00
Travis Ralston
9c0422691a Add another thought
Maybe we can speed up the algorithm if we know why we're doing the update.
2020-05-14 12:44:49 -06:00
Travis Ralston
00d400b516 Possible framework for a proof of concept
This is the fruits of about 3 attempts to write code that works. None of those attempts are here, but how edition 4 could work is at least documented now.
2020-05-14 12:44:49 -06:00
Travis Ralston
becaddeb80 Categorize rooms by effective membership 2020-05-14 12:44:49 -06:00
Travis Ralston
861268d39f Invent an AsyncStore and use it for room lists
This is to get around the problem of a slow dispatch loop. Instead of slowing the whole app down to deal with room lists, we'll just raise events to say we're ready.

Based upon the EventEmitter class.
2020-05-14 12:44:29 -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