Commit graph

10466 commits

Author SHA1 Message Date
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
Jorik Schellekens
fc6e5227ac FIx roomsublist heights.
- also fiddles the font size numbers
2020-05-13 22:24:22 +01: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
Jorik Schellekens
20ec900405 Set font range 2020-05-13 15:36:53 +01:00
Jorik Schellekens
fea219915f fix code regeression 2020-05-13 15:26:11 +01:00
Jorik Schellekens
3f04f5163a Implement more nitpicks
- fix avatar inital aligment
- right align names
- set flair height to avatar's
- fix conditions for resizing to be more stable
2020-05-13 14:04:46 +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
51f59c6c32 UserView, show Welcome page in the mid panel instead of empty space
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-13 11:40:56 +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
Jorik Schellekens
5029c3f143 Implement IRC draggable display name width 2020-05-13 02:16:43 +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
David Baker
ae2645b69b Provide separate translatable for case where we have no device 2020-05-12 12:42:16 +01:00
David Baker
3c5c7f56f3 Adjust comment 2020-05-12 11:14:05 +01:00
David Baker
5c0920da42 Avoid soft crash if unknown device in verification
Rageshakes from the wild indicate that device was null here which
implies that we somehow did not know about the device when verifiying
it? Log and null-check to avoid a soft crash.
2020-05-12 11:05:30 +01:00
Michael Telatynski
7fe40a0470 Default to public room when creating room from room directory
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-12 10:55:46 +01:00
Michael Telatynski
ad2c9df271
Merge pull request #4575 from matrix-org/t3chguy/registration_disabled_prompt_server
Prompt user to specify an alternate server if theirs has registration off
2020-05-12 09:43:34 +01:00
Michael Telatynski
b95d533c4a
Merge pull request #4573 from matrix-org/t3chguy/remove_recent_self
Don't try and redact redactions for "Remove recent messages"
2020-05-12 09:43:23 +01:00
Michael Telatynski
aacc582b52
Merge pull request #4571 from matrix-org/t3chguy/view_source_edits
View Source should target the replacing event rather than the root one
2020-05-12 09:43:02 +01:00
David Baker
03fce86699
Merge pull request #4569 from matrix-org/dbkr/key_backup_restore_reset_recovery
Fix passphrase reset in key backup restore dialog
2020-05-12 09:22:08 +01:00
Michael Telatynski
3bb800bb81 Replace png flags with use of Twemoji
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-11 22:04:18 +01:00
Travis Ralston
58a5b7f154
Merge pull request #4556 from matrix-org/travis/fix-reset
Ensure key backup gets dealt with correctly during secret storage reset
2020-05-11 14:30:12 -06:00
Michael Telatynski
c2dcb60f0b Prompt user to specify an alternate server if their chosen one has registration disabled
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-11 20:10:45 +01:00
Michael Telatynski
f02ce176dd Merge branches 'develop' and 'matthew/invite-npe' of github.com:matrix-org/matrix-react-sdk into matthew/invite-npe 2020-05-11 17:05:17 +01:00
Michael Telatynski
c0061e2f2a Don't try and redact redactions for "Remove recent messages"
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-11 16:39:14 +01:00
Michael Telatynski
0e8bd59d2f View Source should target the replacing event rather than the root one
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-11 15:43:34 +01:00
David Baker
6486c74909 Fix passphrase reset in key backup restore dialog
We prompt to restore the key backup when bootstrapping if it's not
trusted, but the 'set up new recovery options' in this dialog just
sets up a new key backup which just goes back to trying to access
SSSS if cross-signing is enabled. This makes it reset the SSSS
passphase instead.

Fixes https://github.com/vector-im/riot-web/issues/13578
2020-05-11 14:21:59 +01:00
Michael Telatynski
67844d9e1d
Merge pull request #4564 from matrix-org/t3chguy/redaction_redesign
Bring back UnknownBody for UISIs
2020-05-11 10:10:59 +01:00
Michael Telatynski
0da8ef6a1e
Merge pull request #4560 from matrix-org/t3chguy/redact_file
Close ImageView when redacting
2020-05-11 10:10:25 +01:00
Matthew Hodgson
ad2f704e76 don't NPE on invites from Dendrite 2020-05-10 11:17:21 +01:00
Jorik Schellekens
9b7c63a711 Duplicated names 2020-05-08 20:53:32 +01:00
Michael Telatynski
6ff093f5a3 Bring back UnknownBody for UISIs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-08 19:15:59 +01:00
Michael Telatynski
347e3a0dd0
Merge pull request #4484 from matrix-org/t3chguy/redaction_redesign
Redesign redactions
2020-05-08 17:40:04 +01:00
Michael Telatynski
5402839f30 Close ImageView when
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-08 00:15:48 +01:00
Jorik Schellekens
33a5b5142d Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into joriks/font-scaling-slider 2020-05-07 18:01:20 +01:00
Travis Ralston
2aa7a6087c
Merge pull request #4547 from matrix-org/travis/fix-user-panel
Don't try to reload profile information when closing the user panel
2020-05-07 10:21:17 -06:00
Michael Telatynski
dc65c87752 Merge branches 'develop' and 't3chguy/redaction_redesign' of github.com:matrix-org/matrix-react-sdk into t3chguy/redaction_redesign 2020-05-07 17:10:21 +01:00
Jorik Schellekens
bc5fc57dd6 Lint
This is why we shouldn't rely on regex
2020-05-07 14:22:15 +01:00
Jorik Schellekens
771ae5e18f Fix encryption badge layouts and replies.
Begin removing dependence on slider.
Move settings to labs.
Username disambiguation.
2020-05-07 14:04:56 +01:00
Jorik Schellekens
5568e6488d Fix encryption badge layout 2020-05-07 14:04:34 +01:00
Jorik Schellekens
07c2d0cb02 Composer reply previews have group layout 2020-05-07 14:04:34 +01:00
Jorik Schellekens
0af265bf93 Fix replies 2020-05-07 14:04:34 +01:00
Jorik Schellekens
027826c2e1 Replies have the same layout as messages 2020-05-07 14:04:33 +01:00
Jorik Schellekens
10c8d253c8 Create irc layout 2020-05-07 14:04:33 +01:00
Jorik Schellekens
e0c89f6180 Add switch between layout classes 2020-05-07 14:04:33 +01:00
Zoe
1abd729ce0
Merge pull request #4540 from matrix-org/foldleft/11395-reg-error
Don't erase password confirm on registration error
2020-05-07 10:42:21 +01:00
Michael Telatynski
7c1ac7aaff fix unrelated tautology
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-07 10:02:40 +01:00
Michael Telatynski
f0085a9feb Merge branches 'develop' and 't3chguy/redaction_redesign' of github.com:matrix-org/matrix-react-sdk into t3chguy/redaction_redesign 2020-05-07 09:56:21 +01:00
Travis Ralston
9ae812c346 Add a loading state for email addresses/phone numbers in settings
Fixes https://github.com/vector-im/riot-web/issues/13432
2020-05-06 15:17:55 -06:00
Travis Ralston
e5da81b6ba Ensure key backup gets dealt with correctly during secret storage reset
Fixes https://github.com/vector-im/riot-web/issues/13562

We only initialize a new key backup if the user requested one. If they've requested new keys but have not asked for keys to be backed up, we simply delete the now-invalid backup.

This also adds some logging to identify in rageshakes when someone resets their cross-signing, and when their key backup is being deleted.
2020-05-06 14:42:03 -06:00
Travis Ralston
b8fd50c5e3 Appease the linter 2020-05-06 14:27:32 -06:00
Travis Ralston
d31a0199bc Add default dialog aesthetics to avoid empty SSO dialogs in future 2020-05-06 14:24:16 -06:00
Michael Telatynski
62bbf15efe
Merge pull request #4497 from matrix-org/t3chguy/invite_copy
Update Invite Dialog copy to include email addresses
2020-05-06 18:16:36 +01:00
Jorik Schellekens
bab7d5f461 Some lints 2020-05-06 17:25:54 +01:00
Zoe
14516d3e7e
Merge pull request #4552 from matrix-org/foldleft/fix-sublist-crash
Fix a crash where a name could unexpectedly be an empty list
2020-05-06 13:52:50 +01:00
Zoe
781cbea744 Fix a crash where a name could unexpectedly be an empty list 2020-05-05 15:39:37 +01:00
Travis Ralston
9a14417a03 Don't try to reload profile information when closing the user panel
Fixes https://github.com/vector-im/riot-web/issues/13479

This looks to have been caused by something to do with the app load order, though where is a mystery. The view change seems to fire for the same page type despite a dispatch that says to change the view type.

Instead of debugging it too much further, we'll just patch around it.

This commit also makes the settings link use a more safe approach to viewing the user info - not going through the dispatcher means we are at the mercy of browser behaviour when we already have a loop which deals with this.
2020-05-04 15:41:26 -06:00
Agusti Bau
6e99faefde Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into comunities-drag-from-context 2020-05-02 13:40:57 +02:00
Agusti Bau
baa9cd8078 formatted files 2020-05-02 13:25:18 +02:00
Agusti Bau
a84a3c4780 hide badge when context menu is open 2020-05-02 13:12:31 +02:00
Agusti Bau
fc5a5c411f provided.placeholder has no effect 2020-05-02 13:09:04 +02:00
Agusti Bau
01131a4036 removed unnecessary divs 2020-05-02 12:55:56 +02:00
Zoe
8a02e064bd Don't erase password confirm on registration error
Fixes: https://github.com/vector-im/riot-web/issues/11395

Problem here was that the form gets re-mounted but there wasn't a facility
to preserve the password confirmation field.  Since the form validates
that the passwords are equal, if we mount with a password supplied we
just copy it over.
2020-05-01 11:03:48 +01:00
Michael Telatynski
c19338b1d3
Merge pull request #4462 from matrix-org/t3chguy/app_load4
Convert MatrixChat to a TypeScript class
2020-04-30 17:48:42 +01:00
Michael Telatynski
9c916cc544 Merge branches 'develop' and 't3chguy/app_load4' of github.com:matrix-org/matrix-react-sdk into t3chguy/app_load4
 Conflicts:
	src/components/structures/MatrixChat.tsx
2020-04-30 17:41:14 +01:00
Travis Ralston
7b775a8d93
Merge pull request #4271 from aaronraimist/esc-mark-as-read
Mark room as read when escape is pressed
2020-04-30 10:40:50 -06:00
J. Ryan Stinnett
e56ce8d885
Merge pull request #4534 from matrix-org/jryans/key-backup-network-fail
Only show key backup reminder when confirmed by server to be missing
2020-04-30 17:21:13 +01:00
David Baker
3240b3bd60 Add device name to unverified session toast 2020-04-30 16:09:38 +01:00
J. Ryan Stinnett
d3ce4072d4 Only show key backup reminder when confirmed by server to be missing
The key backup reminder was being shown too eagerly in cases when we hadn't
actually checked with the homeserver on key backup status. This changes to only
show the reminder when we're sure a backup doesn't exist.

Fixes https://github.com/vector-im/riot-web/issues/13404
2020-04-30 15:41:49 +01:00
Zoe
3acb952d9a
Merge pull request #4507 from matrix-org/foldleft/13167-spinner-progress
Show progress when loading keys
2020-04-30 14:09:47 +01:00
David Baker
0eb39d8756
Merge pull request #4529 from matrix-org/dbkr/toast_copy_update_again
Update toast copy again
2020-04-30 10:01:16 +01:00
David Baker
683d6804ca Update toast copy again
Fixes https://github.com/vector-im/riot-web/issues/13447
2020-04-29 19:07:10 +01:00
Bruno Windels
886b30a265 also recheck 2020-04-29 18:55:25 +02:00
David Baker
3502b90aeb
Merge pull request #4524 from matrix-org/dbkr/sessions_there_on_login_are_old
Treat sessions that are there when we log in as old
2020-04-29 17:42:16 +01:00