Commit graph

7436 commits

Author SHA1 Message Date
Travis Ralston
38920e7f30 Merge branch 'develop' into travis/room-list-2 2020-05-18 23:23:59 -06:00
Travis Ralston
9aff2e836e
Merge pull request #4593 from matrix-org/travis/dispatcher-types
Convert the dispatcher to TypeScript
2020-05-18 23:22:32 -06:00
Michael Telatynski
1eea203db6
Merge pull request #4599 from matrix-org/t3chguy/progress_colour
Consolidate password/passphrase fields into a component & add dynamic colour to progress
2020-05-18 11:08:08 +01:00
Travis Ralston
798e7a1f86 Merge branch 'develop' into travis/dispatcher-types 2020-05-15 09:56:02 -06:00
David Baker
07eed94b35
Merge pull request #4600 from matrix-org/dbkr/fix_email_sent_to_blank
Make email auth component fail better if server claims email isn't validated
2020-05-15 14:33:20 +01:00
David Baker
523067e5f9 Make email auth component fail better if server claims email isn't validated
https://github.com/matrix-org/synapse/issues/7512 means that (at least)
sometimes after clicking on the email validation link and being redirected
to riot, the server will claim the email identity auth stage is still incomplete.

This meant that we displayed the email identity UIA component but with an empty
email address, because we don't know that in the new session. Work around this by
assuming that if the email UIA component is being displayed but we don't have an
email address input, the link has been clicked and we're just waiting for the poll.

Also don't fire off an initial register request if we're already mid-UI-auth, because
that's confusing and unnecessary.

Also also remove unused requestingToken state.

Fixes https://github.com/vector-im/riot-web/issues/13434
2020-05-15 13:32:12 +01:00
Michael Telatynski
89c16603fc Remove the now inlined ZxcvbnProgressBar.tsx
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-14 21:06:18 +01:00
Michael Telatynski
865495dd69 replace zxcvbn field in CreateSecretStorageDialog with PassphraseField
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-14 20:50:22 +01: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
Michael Telatynski
cf3c4d9e5f Extract Password field from Registration into a reusable component
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-14 20:20:36 +01:00
Travis Ralston
f8cbadaba5 Clean up comments in skeleton components 2020-05-14 12:53:00 -06:00
Travis Ralston
c37352679d Fix bold rooms not bolding 2020-05-14 12:46:16 -06:00
Travis Ralston
e8c33161ec Initial work on badges
This doesn't work for bold rooms
2020-05-14 12:46:16 -06:00
Travis Ralston
6bdcbd0f3d Support switching rooms 2020-05-14 12:46:16 -06:00
Travis Ralston
715dd7e1b6 Prepare tooltip for collapsed support 2020-05-14 12:46:16 -06:00
Travis Ralston
9f0810240f Clean up imports and other minor lints 2020-05-14 12:46:16 -06:00
Travis Ralston
cb3d17ee28 Bare minimum for rendering a room list
This is non-interactive and missing most features users will expect to have
2020-05-14 12:46:16 -06:00
Travis Ralston
ea34bb3022 Make component index happy 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
09b7f39df8 Simple rendering of the room list for visual aid
This is largely meant to prove the algorithm works and nothing more.
2020-05-14 12:45:35 -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
Michael Telatynski
8dd561d28a Convert Validation to TypeScript
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-14 19:33:17 +01:00
Michael Telatynski
93a608a644 flatten out passwordSafe as it was a derived state value
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-14 19:31:40 +01:00
Michael Telatynski
562c5aa9c5
Merge pull request #4588 from matrix-org/t3chguy/kbd1
Add new keyboard shortcuts for jump to unread and upload file
2020-05-14 19:29:09 +01:00
Michael Telatynski
09a4af49f3 Consolidate zxcvbn progress bars into a component and add dynamic colour
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-14 18:49:55 +01:00
Michael Telatynski
239197a3cb
Merge pull request #4394 from matrix-org/t3chguy/qrcode
wrap node-qrcode in a React FC and use it for ShareDialog
2020-05-14 17:31:26 +01:00
Michael Telatynski
dd747a9a09
Merge pull request #4585 from matrix-org/t3chguy/sso_hash
Pass screenAfterLogin through SSO in the callback url
2020-05-14 17:30:31 +01:00
Travis Ralston
cae28b48d6 Remove debugging that causes email addresses to load forever
This was left in by accident for https://github.com/matrix-org/matrix-react-sdk/pull/4557
2020-05-14 09:43:34 -06:00
Travis Ralston
acc17e6026
Merge pull request #4584 from matrix-org/travis/deactivate-fix
Acquire a new session before enacting deactivation
2020-05-14 07:52:17 -06:00
Michael Telatynski
4c7d703275 Reuse QRCode for VerificationQRCode and specify widths
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-14 11:20:27 +01:00
Michael Telatynski
1ba19e78f8 Merge branches 'develop' and 't3chguy/qrcode' of github.com:matrix-org/matrix-react-sdk into t3chguy/qrcode
 Conflicts:
	package.json
2020-05-14 10:50:42 +01:00
Bruno Windels
4a8e642400
Merge pull request #4581 from matrix-org/bwindels/remove-asym-4s
Remove UI for upgrading 4S to symmetric encryption
2020-05-14 08:10:39 +00:00
Travis Ralston
e4835c4b03 Demonstrate dis.fire() with view_user_settings
Like a5f3318f3b, this proves that the new dispatcher conversion works for fire-and-forget style dispatches too. This is another obvious-if-broken and generally safe conversion to make.

Other actions which can be dispatched this way have been excluded for reasons mentioned in the Action enum's comments.
2020-05-13 21:08:08 -06:00
Travis Ralston
a5f3318f3b Convert view_user dispatch to prove the conversion works
This is a relatively obvious dispatch action that doesn't require a lot of complicated type definitions, so should be a good candidate to prove the thing works. If for some reason the thing stops working, we've done something wrong.

This also adds a bit of generic types to the dispatch call so we don't confuse the tsx parser by using `dis.dispatch(<ViewUserPayload>{...})` as it thinks that's supposed to be a component. We still get type safety, and the thing remains happy with the generics approach.
2020-05-13 21:07:50 -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
Travis Ralston
9dd93f14ba
Merge pull request #4555 from matrix-org/travis/sso-xsigning
Add copy to SSO prompts during cross-signing setup
2020-05-13 15:33:09 -06:00
David Baker
50107ebe47 Re-fix OpenID requests from widgets
https://github.com/matrix-org/matrix-react-sdk/pull/4591 reverted
https://github.com/matrix-org/matrix-react-sdk/pull/4459. We need
to pass both URLs as we need both the wURL (for the widget's 'identity'
ie. OpenID) and the URL that's actually in the iframe (for the
messaging).
2020-05-13 16:10:40 +01:00
David Baker
ef2678db93
Merge pull request #4591 from matrix-org/dbkr/fix_persistent_widgets_desktop
Fix persistent widgets on desktop / http
2020-05-13 12:47:54 +01:00
David Baker
92824411e8 Fix persistent widgets on desktop / http
WidgetMessaging needs the URL of the widget that gets rendered into
the iframe because that's where the postmessages will be coming from.

Fixes https://github.com/vector-im/riot-web/issues/13369
2020-05-13 12:33:10 +01:00
Michael Telatynski
77e32977dc
Merge pull request #4579 from matrix-org/t3chguy/create_room_public
Default to public room when creating room from room directory
2020-05-13 10:50:38 +01:00
Michael Telatynski
d11923e2e3 Add new keyboard shortcuts for jump to unread and upload file
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-13 10:38:32 +01:00
Michael Telatynski
d63008f9c5
Merge pull request #4576 from matrix-org/t3chguy/kosovo2.0
Replace png flags and add Kosovo to country code dropdown
2020-05-13 09:58:10 +01:00
Michael Telatynski
d8b6b7b976 Pass screenAfterLogin through SSO in the callback url
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-13 06:24:04 +01:00
Travis Ralston
6d90a9d1a3 Appease the linter 2020-05-12 17:20:26 -06:00
Travis Ralston
c0632d0195 Acquire a new session before enacting deactivation
Fixes https://github.com/vector-im/riot-web/issues/13645

Every time the checkbox value changes we acquire a new session now. This avoids us asking the server to change its direction partway through the request.

This causes a bit of UI jerk as the dialog goes from auth -> loading -> auth, however it's better than the alternative of reworking the entire UIA structure to support the `authData` dict changing. Originally this commit consisted of a `disabled` flag on the `InteractiveAuth` component which carried through to the stage's component, however it turns out that stack doesn't respect changes to the `authData` prop, which means the session ID we eventually send down is wrong (`erase: false` instead of the one with `erase: true`). Therefore, we do some logic to ensure we remount `InteractiveAuth` completely.

Further work in this area is described in https://github.com/vector-im/riot-web/issues/13646
2020-05-12 17:17:17 -06:00
David Baker
03b10e7226 Fix sign in / up links on previewed rooms
They errored because the out-of-band data was assumed to be non-null,
but that's only present for 3rd party invites.
2020-05-12 15:24:12 +01:00
David Baker
8b8eb7d3c0
Merge pull request #4580 from matrix-org/dbkr/dont_npe_if_no_device
Avoid soft crash if unknown device in verification
2020-05-12 14:36:54 +01:00
Bruno Windels
8a1b381635 remove UI for upgrading 4S to sym enc 2020-05-12 14:29:11 +02:00