Commit graph

4119 commits

Author SHA1 Message Date
David Baker
404798d27c Merge remote-tracking branch 'origin/develop' into dbkr/support_no_ssss 2020-06-15 11:36:39 +01:00
David Baker
8ebae4c3b6
Merge pull request #4686 from matrix-org/dbkr/recovery_keys_over_passphrases
Use recovery keys over passphrases
2020-06-15 11:30:30 +01:00
J. Ryan Stinnett
de003bc78f
Merge pull request #4755 from matrix-org/jryans/send-read-marker-immed
Send read marker updates immediately after moving visually
2020-06-12 15:38:08 +01:00
J. Ryan Stinnett
39c28e2207 Send read marker updates immediately after moving visually
The `TimelinePanel` uses two timers to coordinate read marker and read receipt
updates. When the read receipt timer fires, we advance the receipt and send the
latest state of both your receipt and marker to the server. When the read marker
timer fires, we advance the marker visually, but do not send anything to the
server: we were relying on the slightly different schedule of the read receipt
to actually send the updated read marker. This means there's a time window where
it's possible to visually advance the read marker without ever sending it to the
server (if you change rooms before the receipt timer fires again).

To simplify the behaviour here and ensure we always commit the updated marker
when we move it, this change sends an update to the server at the same time as
moving the marker.

It's possible this may improve some of the behaviour reported in
https://github.com/vector-im/riot-web/issues/12338.
2020-06-12 14:34:57 +01:00
Travis Ralston
2c04a56784 Add a minimized view to the new room list
This covers everything except breadcrumbs, as those are somewhat undecided from a design perspective.
2020-06-11 14:39:28 -06:00
Michael Telatynski
ed7f4755cc use ButtonEvent instead of MouseEvent | KeyboardEvent for AccessibleButton (make CI happy)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-10 22:05:29 +01:00
Travis Ralston
72bb89d4ee
Merge pull request #4743 from matrix-org/travis/room-list/tile-menu
Add a context menu to rooms in the new room list
2020-06-10 07:46:09 -06:00
Travis Ralston
a4ea5b5902
Merge pull request #4740 from matrix-org/travis/room-list/stability-1
Improve general stability in the new room list
2020-06-10 07:40:07 -06:00
Travis Ralston
0755b4c148 Add a context menu to rooms in the new room list
The tag options are not implemented out of concern for diff size. 

This splits the context menu classes out to a new "iconized" style which is common across a number of context menus, including the UserMenu.

Some of the badge/sublist styles had to change to better accommodate the menu icon lining up.

This also contains the framework required for https://github.com/vector-im/riot-web/issues/13961
2020-06-09 23:09:15 -06:00
Travis Ralston
fed52f274e Fix custom theme use with new room list
Fixes https://github.com/vector-im/riot-web/issues/13968

We were grabbing "custom-" instead of the actual theme name.
2020-06-09 15:23:34 -06:00
Travis Ralston
9377fa513f Merge branch 'develop' into travis/room-list/breadcrumbs 2020-06-09 08:11:08 -06:00
Travis Ralston
ae8b75214a Balance out the throttle 2020-06-09 07:58:39 -06:00
Travis Ralston
5114c37b82 Add filtering and exploring to the new room list
This is per the designs. Animation doesn't feel required here.

Like the rest of this series, this rewrites a component to be more purpose-built to help match the designs and to solve the smallest possible problem.
2020-06-08 20:33:21 -06:00
Travis Ralston
bcc455b248 Merge branch 'develop' into travis/room-list/breadcrumbs 2020-06-08 18:11:42 -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
de4c2fe3d9 Use real buttons in user menu 2020-06-08 11:06:21 -06:00
Travis Ralston
50673496c3 Add hosting link 2020-06-08 09:32:16 -06:00
Travis Ralston
94ce23aa4b Wire up theme changer 2020-06-08 09:32:05 -06:00
Travis Ralston
acf78ae475 Wire up the remaining dialogs 2020-06-08 09:04:43 -06:00
Travis Ralston
de18af35ff Support minimum to open user settings to a particular tab
Tabs now have IDs, and we use those IDs to open things. This doesn't do any conversion to typescript, and doesn't add the same feature to the room settings out of concern for the size of diff.
2020-06-08 08:20:15 -06:00
Travis Ralston
f05a1e532b Point buttons at the right functions 2020-06-07 22:17:02 -06:00
Travis Ralston
8e0247afe5 Add most of the UI for the new room list's menu button
Incomplete implementation: buttons don't work, some text is missing, etc
2020-06-07 22:06:41 -06:00
Travis Ralston
2806c8c18b Fix temporary class 2020-06-05 14:13:28 -06:00
Travis Ralston
1d8833e9f8 Selected state, cleanup, and profile display 2020-06-05 14:08:20 -06:00
David Baker
ed7f0fd95f This promise doesn't exist anymore 2020-06-05 18:08:25 +01:00
David Baker
7c59e39710 Sort out what we wait for after login
We were waiting only for the client to become logged in rather than
for setLoggedIn() to finish but then we were waiting for the first
sync to complete which is far longer. We need setLoggedIn to have
finished for crypto to be set up so we can query cross-signing keys,
so just wait for that anyway, the logic becomes a lot simpler and
we're waiting the same amount of time because we have to wait for
the first sync to finish. We can also download keys in parallel.
2020-06-05 17:52:09 +01: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
4c1bc50649 Initial styling for new room list
This is a work in progress, but covers the coarse areas. This uses all-new classes to better describe what everything is, and to reduce the number of selectors we keep track of.

This is primarily layout for the list and not actually the final structure. For example, some buttons are missing and other areas are not styled correctly - the idea in this commit was to get things roughly in the right place and work on it.
2020-06-04 16:41:18 -06:00
Travis Ralston
dc01607ad9 Merge branch 'develop' into travis/split-left-panel 2020-06-04 15:09:51 -06:00
Michael Telatynski
6d81337d92 Tidy up continuation algorithm and make it work for hidden profile change events
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-04 13:10:45 +01:00
Michael Telatynski
10bdb4975e
Merge pull request #4685 from matrix-org/t3chguy/sso-query
Fix login loop where the sso flow returns to `#/login`
2020-06-03 20:28:01 +01:00
Michael Telatynski
899f9ede45 change names of consts for clarity
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-03 20:23:01 +01:00
Michael Telatynski
5a4723d243 don't specify hs_disabled as its a Synapse special
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-03 20:13:32 +01:00
Michael Telatynski
9c417cfbad Don't clear MAU toasts when a successful sync comes in
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-03 16:17:31 +01:00
David Baker
ddcd3fb806 Fix the 'complete security' screen
https://github.com/matrix-org/matrix-react-sdk/pull/4655 removed
the check for cross-signing account data where the cross-signing
labs flag was enabled if you had an existing cross-signing setup.
This also sent the user to the 'complete security' view rather than
the 'E2E Setup' view though, which meant new logins should always
see the E2E setup screen (ie. be prompted to upgrade encryption).

NB. We need to change this check for SSSS keys in account data
(https://github.com/vector-im/riot-web/issues/13894) but we should
put this back the way it was in the meantime.

Regressed in https://github.com/matrix-org/matrix-react-sdk/pull/4655
2020-06-03 14:31:34 +01:00
David Baker
6f3bfc96ca Merge remote-tracking branch 'origin/develop' into dbkr/recovery_keys_over_passphrases 2020-06-03 11:01:43 +01:00
Michael Telatynski
936445ab2d
Merge pull request #4660 from matrix-org/t3chguy/kill_UDE_and_UDD
Remove legacy codepaths for Unknown Device Error (UDE/UDD) handling
2020-06-03 10:45:47 +01:00
Michael Telatynski
653b2ff060
Merge pull request #4655 from matrix-org/t3chguy/remove_cross_signing
Remove feature_cross_signing
2020-06-03 10:42:13 +01:00
Travis Ralston
6d96d66c03 Split the left panel into new and old for new room list designs
Though we consider the "room list" to mean the RoomList component specifically, the room list is actually the entire left panel as far as the user is concerned. 

The new proposed designs for the room list modify the whole left panel, so we had might as well break it into new and old now instead of later. This "new" left panel is a bare-bones implementation and meant to only provide the absolute basic feature set to function for those who enable the experimental room list, for whatever reason. This is not intended to be a final implementation, or even remotely close to what it could be. An example of this is the lack of breadcrumbs. Given they are likely to change, they are excluded from this temporary skeleton completely.

This also includes a purple/pink bar between the tag panel and left panel. This is so we can, if needed, differentiate between people who made the mistake of turning on the experimental room list while the overall aesthetic makes it indistinguishable. Once the designs are moderately approved, we can (and definitely should) remove the hideous indicator.
2020-06-02 19:26:07 -06:00
Travis Ralston
1f1f613777 Add a focus_composer dispatcher action
and use it
2020-06-02 19:07:46 -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
0046e204a0 Make the continue button actually work 2020-06-02 18:30:37 +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
Michael Telatynski
113a9d71b5 Fix login loop where the sso flow returns to #/login
due to fragmentAfterLogin going back to `#/login`
and https://github.com/vector-im/riot-web/issues/11643

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-02 16:26:07 +01:00
J. Ryan Stinnett
0717c7749e
Merge pull request #4347 from MTRNord/fix-register-auth-with-new-spec
Make auth argument in the register request compliant with r0.6.0
2020-06-02 10:14:09 +01:00
Travis Ralston
ad617f9e3a Remove unused TagPanelButtons
This isn't used, and is just confusing. The feedback dialog is still used by the top left menu.
2020-06-01 15:35:08 -06:00
Jorik Schellekens
5bba62c28b Pass roomId to IRCTimelineProfileResizer 2020-06-01 18:27:10 +01:00
Jorik Schellekens
df18638164 useIRCLayout moved to props 2020-06-01 17:34:42 +01:00