Commit graph

586 commits

Author SHA1 Message Date
J. Ryan Stinnett
458cc9598d Support restoring key backup with stored secret 2019-12-12 15:18:36 +00:00
J. Ryan Stinnett
e87ff54eee Clean up cross-signing debug panel 2019-12-12 14:27:57 +00:00
J. Ryan Stinnett
4417235d9e Show whether backup key is stored 2019-12-12 14:06:44 +00:00
J. Ryan Stinnett
d2f2d3b344 Handle cross-singing sigs in key backup details 2019-12-12 13:51:45 +00:00
J. Ryan Stinnett
8cbc9baddd Add testing flow for new key backups with SSSS
This adds a path to test key backups with SSSS via an extra button only visible
when the cross-signing feature is enabled.
2019-12-11 16:32:49 +00:00
J. Ryan Stinnett
66f7600969 Add accessSecretStorage helper with common flow setup
This moves the details of dialogs that may be needed when accessing secret
storage to centralised helper. In addition, this clears the secret storage key
cache so that keys are only live for a single operation.
2019-12-11 15:07:46 +00:00
J. Ryan Stinnett
fae819dfe5 Merge remote-tracking branch 'origin/develop' into jryans/4s-new-key-backup 2019-12-11 10:05:20 +00:00
Half-Shot
6225e402cc i18n'ed all over the plaace 2019-12-09 13:54:21 +00:00
Half-Shot
d9943754f7 Remove status as it's no longer part of the MSC 2019-12-09 13:28:16 +00:00
Will Hunt
ce21ce8bbe Lint 2019-12-09 13:22:45 +00:00
Half-Shot
9f2ccdf913 Add support for displaying avatars and links in bridge info 2019-12-09 13:22:45 +00:00
Half-Shot
0d537ecbb3 Add bridge info tab 2019-12-09 13:22:45 +00:00
Michael Telatynski
d22985f12e Migrate string refs over to createRef
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-08 12:16:17 +00:00
J. Ryan Stinnett
9f1c2cd3e1 Add dialogs for creating and accessing secret storage
This adds dialogs for creating and accessing secret storage via a passphrase or
recovery key. These flows are adapted from the ones used for key backup.
2019-12-05 15:34:07 +00:00
J. Ryan Stinnett
139e19630a Watch for account data changes in debug panel 2019-12-02 14:34:32 +00:00
J. Ryan Stinnett
c21c0e1150 Add error to debug panel 2019-12-02 14:22:47 +00:00
J. Ryan Stinnett
798d5c8ada Always update cross-signing status even if error 2019-11-29 17:53:39 +00:00
J. Ryan Stinnett
c32c1d201c Rename device signing auth param 2019-11-29 17:49:51 +00:00
J. Ryan Stinnett
6140803b7f Fix key upload auth to test confirmation 2019-11-29 17:43:24 +00:00
Travis Ralston
9cae685e22
Merge pull request #3686 from matrix-org/travis/theme-fix
Ensure the settings page accurately represents theme choices
2019-11-29 10:17:55 -07:00
J. Ryan Stinnett
a21285143f Add tbody to silence React warning 2019-11-29 11:55:36 +00:00
J. Ryan Stinnett
c6e56d98b3 Merge remote-tracking branch 'origin/develop' into jryans/4s-new-key-backup 2019-11-29 11:31:23 +00:00
J. Ryan Stinnett
c103fe4273 Add cross-signing diagnostic panel
This is not part of any designs, so it may be short-lived, but it's quite handy
for diagnosing issues with cross-signing at least while the feature is in
development.
2019-11-29 11:29:08 +00:00
Travis Ralston
5aad914c25
Merge pull request #3675 from aaronraimist/labs-explain
Add a link to the labs feature documentation
2019-11-28 22:07:47 -07:00
Aaron Raimist
4c50ac0e56
Improve wording
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2019-11-28 22:22:42 -06:00
Travis Ralston
37ec7e6f7e Ensure the settings page accurately represents theme choices
Fixes https://github.com/vector-im/riot-web/issues/11518

This also fixes a bug where the the theme logic can incorrectly get stuck in the light theme - the ThemeController was overriding *all* values, not just supposed themes. Null values aren't overridden so that the various theme logic bits don't assume the user has chosen the light theme explicitly.
2019-11-28 13:40:28 -07:00
Travis Ralston
96ffe94876 Merge remote-tracking branch 'origin/develop' into t3chguy/clear_notifications 2019-11-27 19:27:52 -07:00
Aaron Raimist
98c47265c9
Fix indentation
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2019-11-26 15:01:02 -06:00
Aaron Raimist
7905e6cc3b
Add a link to the labs feature documentation
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2019-11-26 14:31:48 -06:00
Travis Ralston
72f0401589 Merge branch 'develop' into jryans/4s-new-key-backup 2019-11-21 10:22:13 -07:00
Travis Ralston
f7f22444e8 Rename section heading for integrations in settings
Misc design update
2019-11-21 09:03:07 -07:00
Travis Ralston
6597e0bd42
Merge pull request #3646 from matrix-org/travis/integration-manager-opt
Add an option to disable the use of integration managers for provisioning
2019-11-21 08:10:56 -07:00
Michael Telatynski
d3f872bf7a Merge branches 'develop' and 't3chguy/remove_bluebird' of github.com:matrix-org/matrix-react-sdk into t3chguy/remove_bluebird 2019-11-21 11:15:32 +00:00
Travis Ralston
94fed922cf Intercept cases of disabled/no integration managers
We already intercepted most of the cases where no integration manager was present, though there was a bug in many components where openAll() would be called regardless of an integration manager being available.

The integration manager being disabled by the user is handled in the IntegrationManager classes rather than on click because we have quite a few calls to these functions. The StickerPicker is an exception because it does slightly different behaviour.

This also removes the old "no integration manager configured" state from the IntegrationManager component as it is now replaced by a dialog.
2019-11-20 20:40:39 -07:00
Travis Ralston
81c9bdd9f3 It's called an "Integration Manager" (singular)
Fixes https://github.com/vector-im/riot-web/issues/11256

This was finally annoying me enough to fix it.
2019-11-20 20:14:25 -07:00
Travis Ralston
3391cc0d90 Add the toggle switch for provisioning 2019-11-20 20:05:32 -07:00
Travis Ralston
0a0e952691 Update integration manager copy 2019-11-20 19:53:52 -07:00
Travis Ralston
b0eb54541c Rip out options to change your integration manager
We are not supporting this due to the complexity involved in switching integration managers. We still support custom ones under the hood, just not to the common user. A later sprint on integrations will consider re-adding the option alongside fixing the various bugs out there.
2019-11-20 19:50:13 -07:00
J. Ryan Stinnett
e6dea37693 Add hidden button for bootstrapping SSSS
This adds an testing button to the key backup panel which bootstraps the Secure
Secret Storage system (and also cross-signing keys).

Fixes https://github.com/vector-im/riot-web/issues/11212
2019-11-20 17:56:44 +00:00
David Baker
a744415221 Add hack to work around mystery settings bug 2019-11-20 15:34:32 +00:00
Michael Telatynski
6121420113
Merge branch 'develop' into t3chguy/remove_bluebird 2019-11-20 15:21:23 +00:00
David Baker
71f5c8b2b0 Lint 2019-11-20 13:47:54 +00:00
David Baker
5a700b518a Get theme automatically from system setting
Uses CSS `prefers-color-scheme` to get the user's preferred colour
scheme. Also bundles up some theme logic into its own class.
2019-11-20 13:41:06 +00:00
David Baker
a31d222570 Add catch handler for theme setting 2019-11-19 23:00:54 +00:00
David Baker
80ee68a42f Use a settings watcher to set the theme
Rather than listening for account data updates manually
2019-11-19 22:36:55 +00:00
J. Ryan Stinnett
9dea848927 Use div around buttons to fix React warning 2019-11-19 16:28:49 +00:00
J. Ryan Stinnett
cf26f14644 Switch to function properties to avoid manual binding in KeyBackupPanel 2019-11-18 17:43:34 +00:00
Michael Telatynski
d4d51dc61f Rip out the remainder of Bluebird 2019-11-18 10:03:05 +00:00
Michael Telatynski
5c24547ef5 re-add and actually use promise timeout util
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-11-14 09:37:26 +00:00
Michael Telatynski
79ebb9091c
Merge branch 'develop' into t3chguy/remove_bluebird_1 2019-11-12 18:16:34 +00:00
Travis Ralston
6d0b388fa2
Merge branch 'develop' into travis/mjolnir 2019-11-12 10:00:01 -07:00
Michael Telatynski
f5d467b391 delint 2019-11-12 12:26:07 +00:00
Michael Telatynski
2b34cf4362 Replace Promise.delay with promise utils sleep
(cherry picked from commit 0a21957b2c)
2019-11-12 12:07:56 +00:00
Michael Telatynski
217dfc3eed Replace all trivial Promise.defer usages with regular Promises
(cherry picked from commit 44401d73b4)
2019-11-12 12:07:56 +00:00
Michael Telatynski
548e38cba9 Revert "Replace all trivial Promise.defer usages with regular Promises"
This reverts commit 44401d73
2019-11-12 11:56:53 +00:00
Michael Telatynski
f9d6ed63f0 Revert "Replace Promise.delay with promise utils sleep"
This reverts commit 0a21957b
2019-11-12 11:56:32 +00:00
Michael Telatynski
168b1b68bb Revert "s/.done(/.then(/ since modern es6 track unhandled promise exceptions"
This reverts commit 09a8fec2
2019-11-12 11:56:21 +00:00
Michael Telatynski
09a8fec261 s/.done(/.then(/ since modern es6 track unhandled promise exceptions 2019-11-12 11:51:23 +00:00
Michael Telatynski
0a21957b2c Replace Promise.delay with promise utils sleep 2019-11-12 11:46:58 +00:00
Michael Telatynski
44401d73b4 Replace all trivial Promise.defer usages with regular Promises 2019-11-12 11:40:38 +00:00
J. Ryan Stinnett
dd5702fc40
Merge pull request #3582 from matrix-org/jryans/prompt-when-no-terms
Add a prompt when interacting with an identity server without terms
2019-11-01 19:01:54 +02:00
Travis Ralston
3e4a721111 Appease the linter 2019-10-31 16:27:45 -06:00
Travis Ralston
b420fd6758 Add a view rules dialog 2019-10-31 16:00:31 -06:00
Travis Ralston
39b657ce7c Add basic structure for (un)subscribing from lists 2019-10-31 15:54:22 -06:00
Travis Ralston
b93508728a Add personal list management to Mjolnir section 2019-10-31 14:24:51 -06:00
Travis Ralston
23383419e8 Add settings base for Mjolnir rules 2019-10-31 13:20:18 -06:00
J. Ryan Stinnett
0fc5108817 Add a prompt when interacting with an identity server without terms
This adds a prompt whenever we are about to perform some action on a default identity
server (from homeserver .well-known or Riot app config) without terms. This
allows the user to abort or trust the server (storing it in account data).

Fixes https://github.com/vector-im/riot-web/issues/10557
2019-10-31 13:13:13 +00:00
Michael Telatynski
fa811f99de Merge hide-to-tray-icon with show-tray-icon 2019-10-30 14:32:27 +00:00
Michael Telatynski
cd37ffcef2 Add ability to hide tray icon on non-Mac (which has no tray icon) 2019-10-29 11:37:41 +00:00
J. Ryan Stinnett
7ac14e48dc
Merge pull request #3549 from matrix-org/jryans/disconnect-dead-is
Show warning dialog when changing unreachable IS
2019-10-18 16:53:25 +01:00
J. Ryan Stinnett
579ada3ca2 Add an overall reachability timeout of 10s
This adds a reachability timeout of 10s when checking the IS for 3PID bindings.
This ensures we stop in a reasonable time, rather than waiting for a long list
of requests to eventually timeout via some general mechanism.

Part of https://github.com/vector-im/riot-web/issues/10909
2019-10-18 12:40:50 +01:00
J. Ryan Stinnett
e6a81c5733 Show warning dialog when changing unreachable IS
If the IS is unreachable, this handles the error by showing a warning
encouraging the user to check after their personal data and resolve the
situation, but still allows them to continue if they want.

Fixes https://github.com/vector-im/riot-web/issues/10909
2019-10-11 15:57:12 +01:00
J. Ryan Stinnett
d7631ed9f8 Catch errors in Settings when IS is unreachable
A few bits of Settings try to talk to the IS when Settings is opened. This
changes them to handle failure by logging warnings to the console.
2019-10-11 15:52:15 +01:00
Travis Ralston
61cc6c8293 Correctly update the banned users list when a user is unbanned
Fixes https://github.com/vector-im/riot-web/issues/11123

Error wasn't actually the user being unbanned twice - it was a React error about "cannot call enqueueForceUpdate of undefined", which was a binding problem with onUnbanned. However, fixing that didn't do the intended thing - the user was still shown in the settings. We now just listen for membership and  fix it that way.
2019-10-11 12:56:48 +01:00
David Baker
4a56aa16b8 Merge remote-tracking branch 'origin/develop' into dbkr/add_threepid_ui_auth 2019-10-08 19:11:00 +01:00
David Baker
0b334c0bbc Support UI Auth on adding email address 2019-10-08 18:56:13 +01:00
Bruno Windels
8c8b1430e4 fix spelling 2019-10-08 18:39:35 +02:00
Bruno Windels
1ab19be46c also show dialog here
unsure why this code seems duplicated?
2019-10-08 08:54:23 +02:00
Bruno Windels
040bc5e157 show dialog when server says e-mail hasn't been verified yet
as it's confusing to have nothing happen at all when clicking
continue straight away.
2019-10-08 08:54:21 +02:00
Michael Telatynski
fba646d2c5
Merge pull request #3519 from matrix-org/travis/enable-cider
Enable CIDER composer by default
2019-10-04 10:50:28 +01:00
Travis Ralston
853c522467 Enable CIDER composer by default
Also convert the setting to a watched setting to apply in realtime.
2019-10-03 23:20:40 -06:00
Michael Telatynski
a0de7d5f14 Cull some easily fixable errors which make the console a mess
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-03 21:47:19 +01:00
David Baker
8e96bad0ce
Merge pull request #3511 from matrix-org/travis/ccar-debug
Add a bit of debugging for where MatrixClient stops
2019-10-03 11:05:03 +01:00
David Baker
ae7ecf7f8f
Merge pull request #3512 from matrix-org/jryans/error-boundary
Add error boundaries to catch rendering errors
2019-10-03 10:49:03 +01:00
Travis Ralston
b94c94db04
Merge pull request #3492 from matrix-org/travis/hide-images
Add an option to hide image previews
2019-10-02 12:46:45 -06:00
J. Ryan Stinnett
0e8dc24c3f Add a basic error boundary for the entire app
This adds a basic error boundary around the entire app to catch errors during
rendering and present the user with the options on how to proceed. This is not
implemented as a modal so that it could be used selectively in portions of the
app as well, such as just the `RoomView`.

Fixes https://github.com/vector-im/riot-web/issues/11009
2019-10-02 17:31:22 +01:00
Travis Ralston
4136e0722d Add a bit of debugging for clear cache & reload button 2019-10-02 09:34:30 -06:00
Travis Ralston
daef5f7574 Move setting to real settings 2019-10-01 09:32:42 -06:00
Bruno Windels
558f8daeeb support custom themes from setting
also move theme setting code from MatrixChat to own file.
2019-10-01 15:21:22 +02:00
Bruno Windels
79d4434c9f remove custom color pickers 2019-10-01 15:20:11 +02:00
Bruno Windels
8dc94af1ba use native color picker instead of library 2019-09-30 16:54:32 +02:00
Travis Ralston
59b29e4a7f Add an option to hide image previews
Applies to images, stickers, and URL previews.

Fixes https://github.com/vector-im/riot-web/issues/10735
2019-09-27 21:08:31 -06:00
Bruno Windels
cca41c184c very basic color pickers for custom theme 2019-09-26 17:35:06 +02:00
J. Ryan Stinnett
f9a09d271b Use separate MSISDN add and bind flow for supporting HSes
This changes the paths used for binding MSISDNs for discovery to use the new
separate bind / unbind APIs on supporting servers.

Fixes https://github.com/vector-im/riot-web/issues/10839
2019-09-20 12:45:22 +01:00
J. Ryan Stinnett
ff69ad02b9 Use separate email add and bind flow for supporting HSes
This changes the paths used for binding emails for discovery to use the new
separate bind / unbind APIs on supporting servers.

Part of https://github.com/vector-im/riot-web/issues/10839
2019-09-20 12:19:43 +01:00
J. Ryan Stinnett
9a1305bf4a Extract separate add / bind methods on AddThreepid 2019-09-19 15:53:50 +01:00
J. Ryan Stinnett
99b804d567 Change to separate add and bind to guard 3PID account section
This changes to checking for HS support of separate add and bind when guarding
the 3PID account section.

For older HSes, we in fact always require an IS for add with bind param, so the
previous version of this was incorrect.

Part of https://github.com/vector-im/riot-web/issues/10839
2019-09-18 13:02:52 +01:00
Michael Telatynski
648527e650 Fix failure to render newly verified phone number and nested forms
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-18 08:41:05 +01:00
Matthew Hodgson
832123524d make the lifetimes of the RM configurable 2019-09-17 17:34:30 +01:00
Travis Ralston
f25529eed7 Change copy for sharing an email
Fixes https://github.com/vector-im/riot-web/issues/10758
2019-09-12 22:39:32 -06:00