Travis Ralston
eff97e6c20
Fix the tests
2020-06-08 18:18:34 -06:00
Travis Ralston
0354bf9b6d
Reimplement breadcrumbs for new room list
...
This all-new component handles breadcrumbs a bit more smoothly for the app by always listening to changes even if the component isn't present. This allows the breadcrumbs to remain up to date for when the user re-enables breadcrumbs.
The new behaviour is that we turn breadcrumbs on once the user has a room, and we don't turn it back off for them.
This also introduces a new animation which is more stable and not laggy, though instead of sliding the breadcrumbs pop. This might be undesirable - to be reviewed.
2020-06-08 17:11:58 -06:00
Travis Ralston
000c92a53f
Merge branch 'develop' into travis/room-list/css-layout
2020-06-08 09:40:21 -06:00
Travis Ralston
760333a0ae
Move function to a private function
2020-06-07 13:08:25 -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
0bb1eefdea
Remove view_room listener as it isn't needed
...
We use the RoomViewStore
2020-06-05 19:47:15 -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
ea6b0a60ab
Merge branch 'develop' into travis/room-list/css-layout
2020-06-05 13:19:00 -06:00
Travis Ralston
e93a41c5fb
Minor clarity
2020-06-05 13:14:44 -06:00
David Baker
68e555a0c6
Support accounts with cross signing but no SSSS
...
At least at the login stage.
Fixes https://github.com/vector-im/riot-web/issues/13894
2020-06-05 16:40:20 +01:00
David Baker
b82a893a79
Merge remote-tracking branch 'origin/develop' into dbkr/recovery_keys_over_passphrases
2020-06-05 16:00:43 +01:00
Travis Ralston
0c15b2bdb6
Simple structuring of the room list itself
...
This covers the larger parts of the design, but doesn't deal with the nuances of hover states, badge sizing, etc.
2020-06-04 21:21:04 -06:00
Travis Ralston
83df79aab9
Try variable resizing
2020-06-04 09:19:03 -06:00
Travis Ralston
dbf996439b
Wedge t3chguy's resizer prototype into the sublist
2020-06-03 21:17:51 -06:00
Travis Ralston
c07b5ebe9a
Initial experiments with resizing of room lists
2020-06-03 21:17:18 -06:00
Travis Ralston
bc2fbefb5c
Remove iteratorToArray
2020-06-03 11:29:06 -06:00
David Baker
b83ecb1781
Merge remote-tracking branch 'origin/develop' into dbkr/recovery_keys_over_passphrases
2020-06-02 18:53:54 +01:00
David Baker
5624cf5ceb
Add option to reset keys to the encryption setup screen
2020-06-02 17:55:27 +01:00
David Baker
e06ba2003b
Prompt for recovery key on login rather than passphrase
...
Only show passphrase options at all if the user has a passphrase on
their SSSS key.
2020-06-02 16:32:15 +01: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
Michael Telatynski
0242b6f3f3
Merge pull request #4624 from matrix-org/t3chguy/toasts3_2
...
Migrate Banners to Toasts
2020-05-28 18:21:28 +01:00
Michael Telatynski
0fd5714e21
Merge pull request #4606 from matrix-org/t3chguy/peeking-races
...
Fix room alias lookup vs peeking race condition
2020-05-27 17:07:12 +01:00
Michael Telatynski
efa47f1a8e
Change out debug
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-27 12:02:51 +01:00
Michael Telatynski
3dade4e759
tweak
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-27 11:48:48 +01:00
Michael Telatynski
254ed4b1b6
Add debug lined to figure out e2e test failure
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-27 11:33:42 +01:00
Travis Ralston
a9c54153ee
Update badge counts in new room list as needed
2020-05-26 14:16:33 -06:00
Bruno Windels
cfe5173235
use connection error to detect network problem
2020-05-26 15:23:12 +02:00
Bruno Windels
d45a597528
Merge pull request #4645 from matrix-org/bwindels/addloggingforfailtojoinroom
...
Add logging when room join fails
2020-05-26 13:22:22 +00:00
Bruno Windels
f1282179fb
add logging when we fail to join a room
2020-05-26 14:58:09 +02:00
Michael Telatynski
22dba5f794
Merge branches 't3chguy/toasts3' and 't3chguy/toasts3_1' of github.com:matrix-org/matrix-react-sdk into t3chguy/toasts3_1
2020-05-23 11:22:19 +01:00
Michael Telatynski
d29ba5b597
fix priority sorting to highest first
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-23 09:02:35 +01:00
Michael Telatynski
49c0748990
delint and i18n
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-22 14:32:41 +01:00
Michael Telatynski
c464abaa49
Iterate toast count indicator more logically
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-22 14:28:01 +01:00
Michael Telatynski
dc37469808
Convert ToastContainer and ToastStore to Typescript
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-22 12:47:40 +01:00
Michael Telatynski
37bd59bf90
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/peeking-races
2020-05-22 11:18:19 +01:00
Michael Telatynski
67ffe94df4
Fix typo and improve error context
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-22 11:18:14 +01:00
Travis Ralston
e3c0b47116
Hyphenize algorithm directories
2020-05-21 11:56:04 -06:00
Travis Ralston
a11985f239
Which component? The room list!
2020-05-21 11:54:38 -06:00
Michael Telatynski
af2eed2228
Fix room alias lookup vs peeking race condition
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-19 13:18:50 +01:00
Travis Ralston
21e471375e
Revert "Add temporary timing functions to old RoomListStore"
...
This reverts commit 82b55ffd77
.
2020-05-14 14:20:43 -06:00
Travis Ralston
5cfe29de66
Update AsyncStore's docs to be slightly more clear
2020-05-14 14:20:01 -06:00
Travis Ralston
b7ba9b3c41
Replace ChaoticAlgorithm with NaturalAlgorithm for list behaviour
2020-05-14 14:16:26 -06:00
Travis Ralston
91a997da14
Replace ChaoticAlgorithm for tag sorting with deterministic behaviour
...
aka: implement the algorithms.
2020-05-14 14:06:48 -06:00
Travis Ralston
6cb1efc1a4
Use the new TS dispatcher
2020-05-14 13:45:17 -06:00
Travis Ralston
2b4c19e9ba
Merge branch 'travis/dispatcher-types' into travis/room-list-2
2020-05-14 13:40:37 -06:00
Travis Ralston
8e047c3731
Update README for room list store
2020-05-14 13:26:17 -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
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
Travis Ralston
82b55ffd77
Add temporary timing functions to old RoomListStore
...
This is to identify how bad of a state we're in to start with.
2020-05-14 12:41:37 -06:00
Travis Ralston
90a898d03f
Move dispatcher into a subdirectory
...
We're expecting to have a whole bunch of types for the dispatched payloads, so pull the thing into a directory we can throw them in.
2020-05-13 21:07:50 -06:00
Michael Telatynski
fa0f704b56
clear tag panel selection if the community selected is left
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-08 00:05:16 +01:00
David Baker
0b5691c003
Fix right panel hiding when viewing room member
...
If you clicked on the header button whilst the right panel was
showing a room member, it would NPE because there was no
refireParams.member. It fires the same phase with no refireParams to
toggle the panel visibility (apparently), so detect that case.
Fixes https://github.com/vector-im/riot-web/issues/13571
2020-05-07 09:43:14 +01:00
David Baker
bc6aeef824
Guard against race when waiting for cross-signing to be ready
...
Check to see if cross-signing is already set up after a verification
is done to make sure it doesn't race and we end up waiting forever.
2020-05-01 10:58:00 +01:00
David Baker
124740a63c
Wait for user to be verified in e2e setup
...
Wait for our user to become verified and cross-signing to be ready
before declaring that we're finsihed, otherwise we could end up
prompting the user to verify again if we just wait for the verification
itself to complete.
Fixes part of https://github.com/vector-im/riot-web/issues/13464
2020-04-30 22:08:00 +01:00
David Baker
325e1f9c4e
Add jsdoc explaining ordering behaviour
2020-04-29 15:10:23 +01:00
David Baker
1291a63b98
Make new device toasts appear above review toasts
...
...but below incoming verification toasts, which means we now need
to actually handle priority insertion correctly. Oh well.
Fixes https://github.com/vector-im/riot-web/issues/13442
2020-04-29 14:49:30 +01:00
Travis Ralston
d8a5ba9b14
Merge branch 'develop' into travis/moar-jitsi
2020-04-20 09:21:48 -06:00
Travis Ralston
972baa881b
Revert "Fix Filepanel scroll position state lost when room is changed"
2020-04-19 19:14:08 -06:00
Travis Ralston
d910eb4d57
Merge branch 'develop' into thobyv/make-filepanel-remember-scroll-position
2020-04-17 15:10:12 -06:00
Michael Telatynski
49e1e6e59f
null-guard MatrixClientPeg in RoomViewStore
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-15 17:31:45 +01:00
Travis Ralston
4fe16b1b84
Merge branch 'develop' into travis/moar-jitsi
2020-04-14 12:57:28 -06:00
thobyv-kismat
719165c67f
fix file panel scroll position lost on room change
2020-04-11 04:03:32 +01:00
thobyv-kismat
8cf6a8c311
refactor RoomScrollStateStore to accomodate scrollmaps for file/notif panel
2020-04-11 02:59:26 +01:00
Travis Ralston
b4b0c4c6df
Add comments to highlight where we'll need m.widget support
...
For https://github.com/vector-im/riot-web/issues/13111
2020-04-09 15:14:07 -06:00
Travis Ralston
dc92f557fd
Support m.jitsi-typed widgets as Jitsi widgets
...
Fixes https://github.com/vector-im/riot-web/issues/9268
2020-04-09 15:11:57 -06:00
Zoe
0102876e40
Re-request room keys after auth
2020-04-03 11:49:08 +01:00
Michael Telatynski
a2a9dc6cd0
Fix peeking keeping two timeline update mechanisms in play
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-31 10:37:56 +01:00
Bruno Windels
abf12a3ddf
Show EncryptionPanel straight away when there is an ongoing verification request for a user
2020-03-26 17:31:31 +01:00
Bruno Windels
7d4e498257
fix lint
2020-03-24 17:03:40 +01:00
Bruno Windels
4ff847c8a3
put CompleteSecurity state management in store
...
and split off a child component (SetupCrossSigningBody) that can
be reused from the "Verify this session" toast.
2020-03-24 16:10:15 +01:00
David Baker
eae690f3ef
Always display verification request toasts on top
...
As they're interactive and time-sensitive.
Fixes https://github.com/vector-im/riot-web/issues/12141
2020-03-23 15:52:59 +00:00
Michael Telatynski
1c2c2cbc7c
delint
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-20 00:20:55 +00:00
Michael Telatynski
2b40bb905a
Add shortcut CmdOrCtrl+. to toggle right panel. Gets rid of forced-update on right panel changes which may not be the ones we care about.
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-20 00:18:24 +00:00
Michael Telatynski
fb46258528
we don't do mx_fadable anymore so get rid of broken RLS disabling
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-19 13:57:36 +00:00
Travis Ralston
8e3fea9d0f
Use an algorithmic comparator for room list ops
...
Not all algorithms are timestamp based.
2020-03-04 12:09:05 -07:00
Travis Ralston
80b44f0292
Always calculate the category of a room
...
All the update triggers for the RoomListStore go through the `setRoomCategory` function, so by returning early we're not actually calculating where a room should be in the list.
2020-03-04 12:05:47 -07:00
Michael Telatynski
8ec83d4a77
Revert to manual sorting for custom tag rooms
2020-03-02 11:20:28 +00:00
Michael Telatynski
48dc671bcb
Merge pull request #4085 from matrix-org/t3chguy/alpha_room_list
...
Room List sorting algorithms
2020-02-28 12:04:10 +00:00
Michael Telatynski
4480abf09c
Clear selected tags when disabling tag panel
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-27 12:52:22 +00:00
Michael Telatynski
3ad8b6e9cc
Use RoomList.orderAlphabetically as the inverse of RoomList.orderByRecents for migration
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-26 23:05:08 +00:00
Michael Telatynski
a1908a208e
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/alpha_room_list
...
Conflicts:
src/components/views/rooms/RoomList.js
src/stores/RoomListStore.js
2020-02-26 23:02:06 +00:00
Travis Ralston
866ed68615
Ensure DMs tagged outside of account data work in the invite dialog
...
Fixes https://github.com/vector-im/riot-web/issues/12418
Includes a refactor so we don't need to litter the code with the same magic string for DM tags.
2020-02-24 19:43:49 -07:00
Michael Telatynski
f074e85863
tidy up
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-19 16:35:05 +00:00
Michael Telatynski
5a31b308cd
remove unused clause
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-19 15:09:05 +00:00
Michael Telatynski
d1503d8a65
fix edge case
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-19 14:55:49 +00:00
Michael Telatynski
a6edc34e97
Iterate things
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-19 14:52:00 +00:00
Michael Telatynski
932c9b3106
First attempt alpha room list sorting
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-18 14:55:12 +00:00