Commit graph

1053 commits

Author SHA1 Message Date
Half-Shot
50e19ba43d User may not be a bot, therefore do not imply it. 2020-01-03 14:04:59 +00:00
Half-Shot
668479d94a Tweak as per git review 2020-01-03 13:57:59 +00:00
David Baker
43e4f2dcc0 Use deviceTrust when displaying key backup trust status
Requires https://github.com/matrix-org/matrix-js-sdk/pull/1138
2020-01-03 13:34:43 +00:00
J. Ryan Stinnett
99559c5121 Update backup restore paths for SSSS
This updates all the various key backup entry points to ensure they use a flow
that supports backups stored under secret storage.
2020-01-03 13:33:36 +00:00
Will Hunt
0a8cc416bf
Merge branch 'develop' into hs/bridge-info 2019-12-30 17:09:05 +01:00
Travis Ralston
f1ac3d2f64 Convert imports to ES6 from CommonJS
This is needed because `require()` means something different in webpack - it ends up importing the module as something we didn't expect (and is occasionally async)
2019-12-22 21:16:06 -07:00
Travis Ralston
042bd35d79 Fix MatrixClientPeg imports 2019-12-22 21:15:54 -07:00
Travis Ralston
806d728d59 Import from the js-sdk's src/ directory
Because ES6 and such.
2019-12-22 21:14:33 -07:00
Travis Ralston
d56f0f2a25 Convert many imports to handle ES6 exports
Reliant upon https://github.com/matrix-org/matrix-react-sdk/pull/3761
2019-12-22 21:04:42 -07:00
Travis Ralston
344dac4fb9 Convert CommonJS exports to ES6-compatible exports
We use `export default` begrudgingly here. Ideally we'd use just `export`, though this entire SDK expects things to be exported as a default. Instead of breaking everything, we'll sacrifice our export pattern for a smaller diff - a later commit can always do the default export -> regular export conversion.
2019-12-22 21:01:02 -07:00
Michael Telatynski
937b32663c Migrate away from Legacy React Contexts 2019-12-17 17:26:12 +00:00
Michael Telatynski
3a8ab6ec2b
Merge pull request #3736 from matrix-org/t3chguy/stop_using_deprecated_keyCode
Stop using KeyboardEvent.keyCode as it is deprecated
2019-12-17 09:55:13 +00:00
Michael Telatynski
d28a892bb0 Stop using KeyboardEvent.keyCode as it is deprecated 2019-12-16 17:14:03 +00:00
Michael Telatynski
5ab98e9899 open ImageView when clicking on a set avatar 2019-12-16 15:21:05 +00:00
Michael Telatynski
9fa2680dc6 Implement new design for uploading/removing avatars 2019-12-16 14:58:12 +00:00
Michael Telatynski
0bc02564bc Improve a11y of the unignore button in Settings 2019-12-13 14:31:34 +00:00
J. Ryan Stinnett
3cbb3c12cd Update cross-signing details on trust changes 2019-12-12 15:42:27 +00:00
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
J. Ryan Stinnett
db33c138aa Update all 3PID state in Settings when IS changes
This ensures we update all 3PID state (like bind status) whenever the IS
changes.
2019-09-11 16:21:42 +01:00
J. Ryan Stinnett
0b7995dc11 Improve terms handling for 3PID state gathering
This changes the 3PID state gathering (used in Settings) to ignore terms errors
(no modals will be shown) on the assumption that other UX handles this case.
2019-09-11 16:21:42 +01:00
J. Ryan Stinnett
f04c347df7 Lift 3PID state management up to Settings tab
This pulls the 3PID state management in Settings up to a single location so that
the Account and Discovery sections now work from a single list that updates
immediately.

Fixes https://github.com/vector-im/riot-web/issues/10519
2019-09-11 16:21:42 +01:00
Travis Ralston
096dff4b54
Merge pull request #3395 from matrix-org/travis/hidden_rr
Support sending hidden read receipts
2019-09-10 10:55:45 -06:00
Michael Telatynski
c6f3ca20c0
Merge pull request #3407 from matrix-org/t3chguy/fix_custom_pl_levels_hidden_error
Catch error from changing room power level requirements and show modal
2019-09-09 17:50:58 +01:00
Michael Telatynski
088f9e4cc5 Catch error from changing room power level requirements and show modal
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-09 12:50:05 +01:00
J. Ryan Stinnett
a03b224ff7
Merge pull request #3394 from matrix-org/jryans/bound-3pids-warning
Add bound 3PID warning when changing IS as well
2019-09-09 12:28:19 +01:00
J. Ryan Stinnett
24f1ec8abb
Merge pull request #3398 from matrix-org/jryans/is-input-tweak
Stop setting IS input field on account change
2019-09-09 10:28:00 +01:00
J. Ryan Stinnett
c3adddb5ac Change to paragraphs outside the strings 2019-09-09 10:27:02 +01:00
Michael Telatynski
b243004a6c Switch to createReactClass: *everything else*. React 16 :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-06 18:38:11 +01:00
J. Ryan Stinnett
3ad88604cc Stregthen bound 3PID warning dialog
This tweaks the bound 3PID text and adds danger styling.

Fixes https://github.com/vector-im/riot-web/issues/10750
2019-09-06 15:18:01 +01:00
J. Ryan Stinnett
5fddb20d86 Stop setting IS input field on account change
This stops setting a value in the IS input on account change. While it may have
been marginally useful if you have the form open and change on a different
device, it also seems to pick up changes on the current device, leading to
strange UX locally.

Fixes https://github.com/vector-im/riot-web/issues/10756
Fixes https://github.com/vector-im/riot-web/issues/10757
2019-09-06 14:33:40 +01:00
J. Ryan Stinnett
11a5fca702 Remove logs 2019-09-06 13:44:44 +01:00
J. Ryan Stinnett
df03477907 Show change warning only when different from current 2019-09-06 11:54:08 +01:00
J. Ryan Stinnett
19fff51b01 Rework handling for terms CORS error
Earlier changes in this branch removed the "next step" of saving from the
dialogs, so we need to fold in the CORS error case.
2019-09-06 11:12:10 +01:00
J. Ryan Stinnett
2ff592c542 Use existing modal promises 2019-09-06 10:48:24 +01:00
Travis Ralston
af35cdc2ea Support sending hidden read receipts
Fixes https://github.com/vector-im/riot-web/issues/2527
2019-09-05 20:30:19 -06:00
J. Ryan Stinnett
d5552e4a17 Add bound 3PID warning when changing IS as well
This extends the bound 3PID warning from the disconnect button to also appear
when changing the IS as well. At the moment, the text is a bit terse, but will
be improved separately.

Fixes https://github.com/vector-im/riot-web/issues/10749
2019-09-05 17:52:46 +01:00
Travis Ralston
d6adf0fd6d Add responsible error handling because we're responsible people 2019-09-04 11:24:31 -06:00
Travis Ralston
2e3e2ec420 Fix member power levels in room settings
Fixes https://github.com/vector-im/riot-web/issues/10736

We didn't have an onChange property on the PowerSelector component
2019-09-03 08:36:24 -06:00
Michael Telatynski
00a06af419 Hide the E2EE PL selector if room is already encrypted
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-30 10:57:46 +01:00
Michael Telatynski
8967871b23 Merge branches 'develop' and 't3chguy/pl_control_e2e' of github.com:matrix-org/matrix-react-sdk into t3chguy/pl_control_e2e
 Conflicts:
	src/components/views/settings/tabs/room/RolesRoomSettingsTab.js
	src/i18n/strings/en_EN.json
2019-08-30 10:56:47 +01:00
J. Ryan Stinnett
166fb696c2 Allow connecting to an IS from address picker
This allows those who previously disconnected from an IS to either choose the
default IS or a custom one from Settings via the address picker dialog.

Part of https://github.com/vector-im/riot-web/issues/10619
2019-08-29 15:28:34 +01:00
Michael Telatynski
f70f983c8c Expose upgrade room permissions in room settings and fix command
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-28 12:00:37 +01:00
Michael Telatynski
66714b29af expose power level toggle for enabling e2ee to room settings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-28 11:37:20 +01:00
Travis Ralston
3eddded039 Merge branch 'develop' into travis/tabbed-managers 2019-08-27 09:07:52 -06:00
Travis Ralston
abbc8ffef0 Adjust copy and include identity server changing when terms are pending
Fixes https://github.com/vector-im/riot-web/issues/10636
Fixes https://github.com/vector-im/riot-web/issues/10635
2019-08-26 11:26:21 -06:00
Travis Ralston
e8b0c41157 minus ; 2019-08-23 12:01:47 -06:00
Travis Ralston
c44ae2df4d Treat 404 errors on IS as having no terms
Fixes https://github.com/vector-im/riot-web/issues/10634
2019-08-23 11:58:04 -06:00
Travis Ralston
b3cda4b19a Support multiple integration managers behind a labs flag
Fixes https://github.com/vector-im/riot-web/issues/10622
Implements [MSC1957](https://github.com/matrix-org/matrix-doc/pull/1957)

Design is not final.
2019-08-23 09:12:40 -06:00
Travis Ralston
fbb2af00da
Merge pull request #3335 from matrix-org/travis/fix-alignment
Fix alignment of discovery section addresses
2019-08-22 08:35:11 -06:00
Travis Ralston
6449016d4b Fix alignment of discovery section addresses
We target the addresses specifically to avoid crushing the subsection text.
2019-08-21 14:41:25 -06:00
Travis Ralston
54633f3ad4 Remove extraneous logging 2019-08-21 12:57:54 -06:00
Travis Ralston
04bb2ed322
Merge pull request #3327 from matrix-org/travis/discover-terms
Handle terms agreement in Discovery section of user settings
2019-08-21 10:14:45 -06:00
Travis Ralston
5bf0587cc5 Don't double translate labs settings
SettingsStore.getDisplayName() already calls _t() for us.

Fixes https://github.com/vector-im/riot-web/issues/10586
2019-08-21 08:55:19 -06:00
Travis Ralston
2dc28a608f Move URL abbreviation to its own util file 2019-08-21 08:46:10 -06:00
Travis Ralston
c758b5d3f1 We don't use reject 2019-08-21 08:43:42 -06:00
Travis Ralston
f55a40001c Touch up settings: alignment, spacing, error states
Fixes https://github.com/vector-im/riot-web/issues/10554

Issues fixed:
* Fields were not ~30px from the avatar (too much right margin)
* Tooltips overflowed the dialog on some resolutions
* SetIdServer didn't have an error state for making the field red
* Spacing between sections in Discovery was wrong (fixed by just removing the problematic n+2 selector - it didn't help anything)
2019-08-20 13:20:07 -06:00
David Baker
f5da870040
Merge pull request #3326 from matrix-org/dbkr/device_name_public
Clarify that device names are publicly visible
2019-08-20 09:29:45 +01:00
Travis Ralston
3181829532 Use new InlineTermsAgreement component on IS Discovery section
Fixes https://github.com/vector-im/riot-web/issues/10522
2019-08-19 23:00:05 -06:00
Travis Ralston
83af732d05 Rename and export abbreviateIdentityUrl 2019-08-19 22:53:37 -06:00
J. Ryan Stinnett
fef3438ef1
Merge pull request #3325 from matrix-org/jryans/tweak-privacy-copy
Tweak privacy settings copy and whitespace
2019-08-19 21:35:49 +01:00
David Baker
f7083ac332 Clarify that device names are publicly visible
And also a bunch of other UI fixes in the devices table:
 * It's the devices table, don't need 'device' in all the headers
 * Not really necessary to label checkboxes with 'select'
 * Stop table from moving down when the delete button appears

Fixes https://github.com/vector-im/riot-web/issues/10216
2019-08-19 18:09:37 +01:00
Travis Ralston
2d4c2b76d9 Merge branch 'develop' into travis/is-account-data 2019-08-19 10:36:42 -06:00
Travis Ralston
95bd41aac7
Merge pull request #3317 from matrix-org/travis/terms/inline-is-only
Prompt for terms of service on identity server changes
2019-08-19 10:35:58 -06:00
Travis Ralston
32abfbbfc6 Rename functions 2019-08-19 10:27:57 -06:00
David Baker
6879ddd34c
Merge pull request #3323 from matrix-org/dbkr/add_3pid_without_is
Allow 3pids to be added with no ID server set
2019-08-19 17:02:56 +01:00
David Baker
93af6cfd8d Fix up remove threepid confirmation UX
Probably still not the best design but hopefully break fewer UX rules:

1. Use red to confirm delete rather than cancel and green to cancel
2. Show the action you're about to perform in the confirmation
3. Label confirmation button with the action rather than yes/no.
2019-08-19 15:37:12 +01:00
David Baker
c1b72fd346 Allow 3pids to be added with no ID server set
Fixes https://github.com/vector-im/riot-web/issues/10573
2019-08-19 15:17:14 +01:00
J. Ryan Stinnett
5af9bf7b80 Use designed text for new IS field 2019-08-19 14:44:53 +01:00
J. Ryan Stinnett
d4ecb99d11 Show the default IS as a placeholder in Settings
This changes the UX for the set IS field to show the default IS as a placeholder
value (as opposed to an initial value as if the user had actually entered it).

Fixes https://github.com/vector-im/riot-web/issues/10528
2019-08-19 14:20:01 +01:00
J. Ryan Stinnett
07826c5675 Hide 3PID discovery sections when no identity server
This hides the email and phone sections of Discovery in the Settings when there
is no IS, as they can't meaningfully be used.

Part of https://github.com/vector-im/riot-web/issues/10528
2019-08-19 14:03:43 +01:00
Travis Ralston
51946d2a74 Persist and maintain identity server in account data
Fixes https://github.com/vector-im/riot-web/issues/10094

MSC: https://github.com/matrix-org/matrix-doc/pull/2230
2019-08-16 13:10:41 -06:00
Travis Ralston
2456912ec7 Merge remote-tracking branch 'origin/develop' into travis/terms/inline-is-only 2019-08-16 09:41:00 -06:00
Travis Ralston
218bee8071
Merge pull request #3316 from matrix-org/travis/terms/inline-im-is
Prompt for terms of service on integration manager changes
2019-08-16 07:31:36 -06:00
David Baker
cde1944cac
Merge pull request #3314 from matrix-org/dbkr/warn_if_bound_threepids
Warn on disconnecting from IS
2019-08-16 10:56:39 +01:00
Travis Ralston
02f8b72533 tfw the linter finds bugs for you 2019-08-15 16:08:18 -06:00
Travis Ralston
9860baf0b4 Prompt for terms of service on identity server changes
Part of https://github.com/vector-im/riot-web/issues/10539
2019-08-15 16:02:02 -06:00
Travis Ralston
27504e1578 Prompt for terms of service on integration manager changes
Part of https://github.com/vector-im/riot-web/issues/10539
2019-08-15 13:28:23 -06:00
David Baker
7d96cc969a
use original bug
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2019-08-15 15:39:15 +01:00
David Baker
ded2297523
Merge pull request #3315 from matrix-org/dbkr/fix_set_im
Fix set integration manager tooltip
2019-08-15 15:38:34 +01:00
J. Ryan Stinnett
1c6312d999 Store ICE fallback permission in device setting
This stores the ICE server fallback permission in a device setting so it is
remembered across sessions.

Part of https://github.com/matrix-org/matrix-react-sdk/pull/3309
2019-08-15 15:04:23 +01:00
David Baker
40f693d0fc Fix set integration manager tooltip
The name of the prop changed in the original PR and this one didn't
get updated.
2019-08-15 14:55:59 +01:00
David Baker
6f07f9157c lint 2019-08-15 13:10:05 +01:00
David Baker
54fb1b5302 Unused variables / imports 2019-08-15 12:07:59 +01:00
David Baker
75770f7a4a Warn on disconnecting from IS
...if the user has bound threepids

Fixes https://github.com/vector-im/riot-web/issues/10550
2019-08-15 12:04:07 +01:00
Travis Ralston
beb6ec4327 Merge branch 'develop' into travis/integs/account_set 2019-08-14 08:45:01 -06:00
David Baker
c74da125b2 i18n 2019-08-14 10:12:39 +01:00
David Baker
be7956db61
Spell out identity server
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2019-08-14 10:08:43 +01:00
David Baker
3c3b530e1e
Spell out identity server
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2019-08-14 10:08:30 +01:00
David Baker
85497610e3
Spell out identity server
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2019-08-14 10:08:15 +01:00
David Baker
0d560108b6
Kill smart quotes
Co-Authored-By: Travis Ralston <travpc@gmail.com>
2019-08-14 10:07:50 +01:00
David Baker
b0420c106e Prepopulate client default on disconnect 2019-08-14 10:06:05 +01:00
David Baker
735c6d73d8 Merge remote-tracking branch 'origin/develop' into dbkr/disco_is 2019-08-14 10:03:32 +01:00
David Baker
7c35107a37 Update 3pids section visibility when id server set / unset 2019-08-13 18:40:27 +01:00
David Baker
c80c8dcf24 prefill id server box with default if there isn't one 2019-08-13 17:55:10 +01:00
David Baker
596ff93049 unused import 2019-08-13 16:38:46 +01:00
David Baker
2539da0dfa Use fetch instead of browser-request 2019-08-13 16:37:56 +01:00
David Baker
31fd36efba use accessiblebutton 2019-08-13 16:20:30 +01:00
David Baker
02504b9959 make it work again 2019-08-13 12:59:34 +01:00
David Baker
e5f913bc11 Merge remote-tracking branch 'origin/develop' into dbkr/change_is 2019-08-13 12:56:58 +01:00
David Baker
7afaba3bf1 link to doc issue 2019-08-13 11:05:41 +01:00
David Baker
860a9dbc82 s/tooltip/tooltipContent/ 2019-08-13 11:01:04 +01:00
David Baker
c36c3a9b33
other general grammar
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2019-08-13 10:51:26 +01:00
David Baker
934b711936
write Identity Server out in full to be less confusing
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2019-08-13 10:48:56 +01:00
David Baker
c732ae3aa9
Correct license header
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2019-08-13 10:46:42 +01:00
Travis Ralston
03d735f4ed Support changing your integration manager in the UI
Part of https://github.com/vector-im/riot-web/issues/10161
2019-08-12 15:40:50 -06:00
Travis Ralston
e21c12c2c9 Merge remote-tracking branch 'origin/dbkr/change_is' into travis/integs/account_set 2019-08-12 13:06:36 -06:00
David Baker
0c4b29faa9 Merge remote-tracking branch 'origin/dbkr/change_is' into dbkr/disco_is 2019-08-12 14:47:40 +01:00
David Baker
4d33438acb c+p fail 2019-08-12 14:46:04 +01:00
David Baker
0b51a5f452 c+p fail 2019-08-12 14:45:15 +01:00
David Baker
115e4c0370 Remove IS access token too 2019-08-12 14:40:11 +01:00
David Baker
ebc84b4445 Merge remote-tracking branch 'origin/dbkr/change_is' into dbkr/disco_is 2019-08-12 14:39:46 +01:00
David Baker
f358b6162d Remove the access token for the old IS
Pretty important that we don't send that to the new IS...
2019-08-12 14:38:49 +01:00
David Baker
384f07adb2 Disconnect from IS button 2019-08-12 14:36:48 +01:00
Michael Telatynski
7bdac85a2a Break themes out into a separate file
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-12 14:24:12 +01:00
David Baker
bc088e4472 add comment 2019-08-12 13:31:31 +01:00
David Baker
10b19622db Don't clear field on failure 2019-08-12 13:29:52 +01:00
David Baker
bc66545fd0 shorten url by default 2019-08-12 13:11:05 +01:00
David Baker
bf9caa7fd8 add the rest of the files 2019-08-12 11:51:44 +01:00
Michael Telatynski
916af736ad Consolidate Themes into ThemeController. Remove hardcoded themes in view
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-11 03:43:34 +01:00
David Baker
c76514fceb Add UI in settings to change ID Server
Just changes the current ID server being used

To come in subsequent PRs:
 * Store this in account data
 * Check for terms or support the proper UI for accepting terms when setting
 * Support disconnecting

Part 1 of https://github.com/vector-im/riot-web/issues/10094
Requires https://github.com/matrix-org/matrix-js-sdk/pull/1013
2019-08-09 18:07:58 +01:00
J. Ryan Stinnett
c2f81a00c4
Merge pull request #3288 from matrix-org/jryans/user-settings-toggle-3pid
Add controls for toggling discovery in user settings
2019-08-08 17:48:17 +01:00
J. Ryan Stinnett
11cf7493d9 Disable binding 3PIDs when adding to account
Binding 3PIDs on the IS is now handled by a separate step in the Discovery
section of settings.

Fixes https://github.com/vector-im/riot-web/issues/10510
2019-08-08 11:52:21 +01:00
J. Ryan Stinnett
178d6605c4 Add controls for toggling discovery in user settings
This adds controls for each 3PID to allow the user to choose whether it's bound
on the IS.

Fixes https://github.com/vector-im/riot-web/issues/10159
2019-08-08 11:35:35 +01:00
David Baker
54ca7b708e
Merge pull request #3285 from matrix-org/dbkr/work_without_is
Work with no ID server set
2019-08-08 09:48:44 +01:00
David Baker
d31f1ea7f2 Disable addign threepids if no IS configured 2019-08-07 11:51:42 +01:00
Michael Telatynski
c022f58f3b
Merge pull request #3278 from matrix-org/t3chguy/electron_keep_alt_menu
Allow setting in electron whether or not to auto hide menu bar
2019-08-06 18:20:22 +01:00
Michael Telatynski
5d048972ab delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-06 18:06:47 +01:00
J. Ryan Stinnett
accb1eea9f Move existing 3PID settings UX to account directory 2019-08-06 13:03:49 +01:00
J. Ryan Stinnett
aa0a2a579e Add copyright headers 2019-08-06 12:43:30 +01:00
J. Ryan Stinnett
11f2b4320d Update existing 3PID management UX
This tweaks the appearance of the existing 3PID management UX to use a different
style for the remove button. This styling will more closely match the soon to be
added 3PID discovery settings.

Part of https://github.com/vector-im/riot-web/issues/10159
2019-08-05 16:34:04 +01:00
Michael Telatynski
1e9881dd7d Allow setting in electron whether or not to auto hide menu bar
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-05 11:58:53 +01:00
David Baker
2eb8a8879b
Merge pull request #3199 from matrix-org/dbkr/terms
ToS for ISes/IMs: prompt on use screen
2019-07-23 10:32:11 +01:00
Travis Ralston
345dbce6e4 Fix autocomplete delay text field not accepting text
SettingsStore.setValue is async (fire&forget) however getValueAt is cached. Theory was supposed to be that getValueAt local echos, however the animation loop of React is probably just too fast to actually make the local echo happen.

Fixes https://github.com/vector-im/riot-web/issues/9907
2019-07-14 23:28:23 -06:00
Travis Ralston
733401652b Close settings after deactivating
Fixes https://github.com/vector-im/riot-web/issues/9566
2019-07-11 14:54:49 -06:00
David Baker
83f697a9a2 lint 2019-07-09 19:01:22 +01:00
David Baker
54aaabac74 Initial support for ToS dialogs for IS/IM
as per MSC2140
2019-07-09 18:51:56 +01:00
Michael Telatynski
d774d96290 Fix some React errors
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-30 10:41:39 +01:00
Bruno Windels
25aa65ac0d remove leftover logging 2019-06-27 14:13:37 +02:00
Bruno Windels
f6e0cd9a03 don't show error dialog when user has no webcam
instead, retry with just audio.
Also when mounted, check if the user has given enough permissions
to return non-empty labels for the devices, something both ff & chrome
do if you haven't going through the permissions popup yet. If not,
show the permissions button.
2019-06-26 18:54:15 +02:00
Bruno Windels
bb97653455
Merge pull request #3113 from matrix-org/bwindels/mediadeviceslabels
Provide default name if device label is missing
2019-06-18 16:44:43 +00:00
Travis Ralston
8f6e8c1ec7 Appease the linter 2019-06-17 15:51:14 -06:00
Travis Ralston
a5f296457f Make the Manage Integrations Button defer scalar auth to the manager
This moves the responsibility of creating a URL to open from the button (and other components) to the integrations manager dialog itself.

By doing this, we also cut down on scalar API calls because we don't pick up on account information until the user opens the dialog.
2019-06-17 15:29:28 -06:00
Travis Ralston
7c80355ea7 Convert IntegrationsManager to a class 2019-06-17 15:26:58 -06:00
Bruno Windels
a35c9ea585 provide default for missing device labels 2019-06-17 19:39:40 +02:00
J. Ryan Stinnett
20b57b855b Add license info for Twemoji
Fixes https://github.com/vector-im/riot-web/issues/9930
2019-06-06 14:20:13 +01:00
Travis Ralston
635b1ff612
Merge pull request #2928 from Half-Shot/hs/custom-notif-sounds
Custom notification sounds for rooms
2019-06-03 14:31:38 -06:00
Will Hunt
300095f50f Remove labs flag for custom notif sounds 2019-06-03 17:35:15 +01:00
Travis Ralston
7f0282a2e8 Convert breadcrumbs from labs to real setting
Fixes https://github.com/vector-im/riot-web/issues/9391
2019-06-03 00:15:33 -06:00
Will Hunt
9369e964fa Merge remote-tracking branch 'upstream/develop' into hs/custom-notif-sounds 2019-05-31 10:44:30 +01:00
Travis Ralston
0d47222132 Add LB setting to new user settings
Put under labs out of concern for https://github.com/vector-im/riot-meta/issues/66
2019-05-30 19:57:17 -06:00
Andrew Morgan
d0deffac3d Move checkmark to the front of key backup message 2019-05-22 15:19:42 +01:00
Matthew Hodgson
d3f06763b3
Merge branch 'develop' into matthew/twemoji 2019-05-20 16:38:44 +01:00
Matthew Hodgson
dc72641264 replace emojione with twemoji. completely untested & debugged & unoptimised 2019-05-19 15:23:43 +01:00
J. Ryan Stinnett
45cdf880b1 Change setting style 2019-05-17 17:43:08 +01:00
Will Hunt
d752de0972 Improve UX 2019-05-15 15:52:42 +01:00
Will Hunt
626cb46915 Cleanup interface buttons 2019-05-14 21:05:22 +01:00
Michael Telatynski
118e752a1f Add button to clear all notification counts, sometimes stuck in historical
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-12 23:24:12 +01:00
Will Hunt
64a384477e Resolve issues 2019-05-12 17:14:21 +01:00
Will Hunt
efc93abb50
Merge branch 'develop' into hs/custom-notif-sounds 2019-05-07 20:04:29 +01:00
Travis Ralston
a7a50351d1
Merge pull request #2798 from matrix-org/travis/tombstone-notif
Support changing options for .m.rule.tombstone push rule
2019-05-02 09:47:41 -06:00
Will Hunt
0f2cd6ea73 Stick behind a feature flag 2019-04-21 18:01:26 +01:00
Will Hunt
776210c135 Use settings store 2019-04-19 22:31:51 +01:00
Will Hunt
d33df45c5e Linting 2019-04-19 22:06:56 +01:00
Will Hunt
63ab7736ca Add a fancy room tab and uploader 2019-04-19 16:27:30 +01:00
J. Ryan Stinnett
2054d53782 Tweaked wording after discussing with @lampholder 2019-04-15 15:10:48 +01:00
J. Ryan Stinnett
bded275f6a Clarify messaging when key backup exists but is unused
This makes the key backup panel much more explicit about the case where an
existing backup does exist, but this device just isn't using it. You can join
the device to the backup and restore from it by going through the restore
workflow.

Fixes https://github.com/vector-im/riot-web/issues/9446
2019-04-15 15:10:48 +01:00
J. Ryan Stinnett
9a59b0d390 Clarify that use backup means restore
"Use key backup" feels like it's telling me I haven't set it up at all. This
changes to "Restore ..." which seems more reassuring.

Fixes https://github.com/vector-im/riot-web/issues/9438
2019-04-15 15:10:48 +01:00
J. Ryan Stinnett
c0cf6a35c6
Merge pull request #2919 from jryans/key-backup-this-device
Fix key backup status when missing device
2019-04-15 12:44:08 +01:00
Travis Ralston
e8d141fc3c
Merge pull request #2908 from matrix-org/travis/upgrades/linkback
Add a link in room settings to get at the tombstoned room if it exists
2019-04-12 10:21:39 -06:00
J. Ryan Stinnett
5ee9de04c3 Fix key backup status when missing device
We might not have the device in `sig.device`, so we have to check for it's
existence first. This fixes the "Unable to load key backup status" message that
is incorrectly triggering.

Fixes https://github.com/vector-im/riot-web/issues/9442
2019-04-12 16:23:54 +01:00
Travis Ralston
ec01f6ffb1 Change wording for old room link 2019-04-11 10:40:25 -06:00
Travis Ralston
64423e1f7d let -> const 2019-04-10 15:34:06 -06:00
Travis Ralston
15e8ce7a7f Add a link in room settings to get at the tombstoned room if it exists
Fixes https://github.com/vector-im/riot-web/issues/8542
2019-04-10 15:00:02 -06:00
Travis Ralston
b8ffd0fca2
Merge pull request #2889 from matrix-org/anoa/one_space
Remove duplicate space in credits
2019-04-10 12:13:39 -06:00
Travis Ralston
35a20143ba
Merge pull request #2897 from matrix-org/travis/upgrades/touchups
Fix room upgrade warnings popping up in upgraded rooms
2019-04-09 09:06:17 -06:00
David Baker
0f1ebf8095 Factor out this device check & reorder conditionals 2019-04-09 13:47:25 +01:00
David Baker
7c1943ef4e Key backup: Handle case where your onw sig is invalid
Sometimes life is just like that
2019-04-09 13:22:35 +01:00
Travis Ralston
4beecb50c9 Fix room upgrade warnings popping up in upgraded rooms
Rooms which are already upgraded shouldn't be asked to upgrade. Additionally, this fixes a bug where the room upgrade dialog would stay open even after upgrading the room.
2019-04-08 15:39:36 -06:00
Andrew Morgan
77515f0b58 Remove duplicate space in credits 2019-04-08 14:40:08 +01:00
J. Ryan Stinnett
db834b315a
Merge pull request #2828 from jryans/notification-labels
Clarify devices affected by notification settings
2019-03-26 17:43:19 +00:00
J. Ryan Stinnett
f8dce875f2 Clarify devices affected by notification settings
This clarifies that the notification settings only apply to the current device.
This also tries to apply the spirit of
https://github.com/matrix-org/matrix-react-sdk/pull/1995 (authored by @aidalgol)
which wanted to remove "web" from the label, since there's also a desktop
client.
2019-03-26 17:39:07 +00:00
J. Ryan Stinnett
dbc4735b06
Merge pull request #2825 from YaoiFangirl420/develop
Add <code> blocks around homeserver and identity server urls
2019-03-26 09:35:56 +00:00
YaoiFangirl420
f2b64a8e7f Add <code> blocks around homeserver and identity server urls
To make the urls visually distinct from the surrounding non-url text

Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-03-24 02:05:04 -07:00
Travis Ralston
50614fa7fb Attach an onChange listener to the room's blacklist devices option
Fixes https://github.com/vector-im/riot-web/issues/9235

The global option in user settings is unaffected by this bug. Users who have previously set the per-room flag without success can simply refresh the page and the change will be picked up. The bug here is that the current session would not update accordingly, however.

Introduced in https://github.com/matrix-org/matrix-react-sdk/pull/2523
2019-03-22 14:22:20 -06:00
Travis Ralston
27c9b24cab Appease more of the linter 2019-03-15 16:44:27 -06:00
Travis Ralston
92b851b26c Update text for room version upgrades in settings 2019-03-15 15:49:18 -06:00
Travis Ralston
e5059fdf0f Don't show Matrix-namespaced push rules which the server doesn't declare
So that users can't change push rules they don't have. Similar to the behaviour in https://github.com/matrix-org/matrix-js-sdk/pull/860
2019-03-15 14:14:00 -06:00
Travis Ralston
8d8445429c Show options for .m.rule.tombstone push rules
Part of vector-im/riot-web#8447
2019-03-15 14:13:15 -06:00
Travis Ralston
788041a774 Warn that members won't be invited to the new room in room settings 2019-03-14 17:33:34 -06:00
J. Ryan Stinnett
d4dbba3938 Convert uncontrolled Field usages to controlled
As part of adding validation to Field, the logic is simpler to follow if we can
assume that all usages of Field use it as a controlled component, instead of
supporting both controlled and uncontrolled.

This converts the uncontrolled usages to controlled.
2019-03-12 16:17:21 +00:00
J. Ryan Stinnett
cff3c94858 Fix indentation in PhoneNumbers.js 2019-03-12 15:39:30 +00:00
Travis Ralston
e1f9482107
Merge pull request #2757 from matrix-org/anoa/accept_all_invites
Ability to bulk accept all invites (and fix rejecting all invites)
2019-03-08 14:55:59 -07:00
Andrew Morgan
71261fc7a7 Add 2500 as default delay 2019-03-07 11:12:16 +00:00
Andrew Morgan
c5198418b0 Use retry_after_ms instead of hardcoded delay 2019-03-06 15:37:06 +00:00
Andrew Morgan
0f14d89257 Ability to bulk accept all invites 2019-03-06 14:06:53 +00:00
J. Ryan Stinnett
13957bb5e7 Move country dropdown inside field in Settings
This updates the Settings phone input to match the new styling used on auth
flows.

Fixes https://github.com/vector-im/riot-web/issues/9049
2019-03-06 11:26:05 +00:00
J. Ryan Stinnett
5120ff83be Enable show prefix for phone input in Settings
This fixes an unrelated bug where the currently selected country's prefix number
wasn't being displayed. Since other country dropdown's show the prefix, and this
is also for phone numbers, it seems good to also show it here as well.
2019-03-06 11:22:29 +00:00
David Baker
c1056025ed
Merge pull request #2748 from matrix-org/dbkr/shameless_plugging
Support linking to hosting providers
2019-03-05 18:22:02 +00:00
David Baker
0244990731 Add utm_campaign to the hosting links
According to where in the app the link was clicked
2019-03-05 16:42:22 +00:00
David Baker
b68a71b294 Lint 2019-03-05 16:20:18 +00:00
David Baker
57d8f6d8a2 Support linking to hosting providers
From link in app config
2019-03-05 16:12:02 +00:00
Travis Ralston
879fa22416 Merge branch 'develop' into travis/encryption-warning 2019-03-04 23:14:30 -07:00
David Baker
a6a3716576
Merge pull request #2739 from matrix-org/dbkr/devices_toggle_update
Fix media device selectors not updating
2019-03-04 14:49:50 +00:00
David Baker
c7b019830d Fix media device selectors not updating
Missed a setState

Fixes https://github.com/vector-im/riot-web/issues/9036
2019-03-04 14:35:41 +00:00
Travis Ralston
71630af201 Patch users not existing when opening settings
Fixes https://github.com/vector-im/riot-web/issues/9022
2019-03-02 10:59:53 -07:00
Travis Ralston
5a4676ac66
Merge pull request #2725 from matrix-org/travis/settings/pl-dropdowns
Convert PowerSelector to use mxField instead
2019-03-01 09:03:16 -07:00
Travis Ralston
f9d6d42781
Merge pull request #2726 from matrix-org/travis/settings/save-feedback
Don't re-enable the save button after saving profiles
2019-03-01 09:02:54 -07:00
Travis Ralston
7d207ca2c3 speeling 2019-02-28 20:45:31 -07:00
Travis Ralston
9402e81835 Get confirmation before enabling encryption
Fixes https://github.com/vector-im/riot-web/issues/8843
2019-02-28 20:39:07 -07:00
Travis Ralston
12d939b36f Support multiple email pushers and remove the legacy UserSettingsStore
Fixes https://github.com/vector-im/riot-web/issues/5496
Fixes https://github.com/vector-im/riot-web/issues/8424
2019-02-28 19:57:45 -07:00
Travis Ralston
b84b11d3bd Don't re-enable the save button after saving profiles
Fixes https://github.com/vector-im/riot-web/issues/8569
2019-02-28 19:13:28 -07:00
Travis Ralston
a41df7ab68 Convert PowerSelector to use mxField instead 2019-02-28 19:00:57 -07:00
J. Ryan Stinnett
4b340450b9 Rename Feather icon directory to feather-customised
These icons are based on Feather as the original source, but they have various
tweaks applied, such as stroke width, color, etc. Hopefully the tweaked name
makes this more obvious in the future.
2019-02-27 10:42:10 +00:00
Travis Ralston
1aef157d2a Fix variable reference 2019-02-25 11:52:45 -07:00
Travis Ralston
24099de2a4 Merge branch 'develop' into travis/settings-cleanup-1 2019-02-25 10:56:43 -07:00
Travis Ralston
e0a5eeca75
Merge pull request #2686 from matrix-org/travis/old-room-sorting
Support the old room sorting algorithm and SettingsStore watchers
2019-02-25 10:51:10 -07:00
Travis Ralston
5bf9f721c8 Port minimize to tray to new settings tab (post-merge)
Brings in b02b371250
2019-02-25 09:43:39 -07:00
Michael Telatynski
b02b371250 Allow configuration of whether closing window closes or minimizes to tray
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-24 01:06:53 +00:00
Travis Ralston
b0cc69bca9 Add an option to sort the room list by recents first
Fixes https://github.com/vector-im/riot-web/issues/8892
2019-02-22 17:09:07 -07:00
Travis Ralston
014e4a2ccf Remove DragDropContext from FlairSettings
This also fixes a technical bug where one could drag a community from the settings to the LLP
2019-02-22 11:33:03 -07:00
Travis Ralston
bd54a401bc Sort settings tabs into a logical structure
Fixes https://github.com/vector-im/riot-web/issues/8864
2019-02-22 11:33:03 -07:00
Travis Ralston
d6f89f422b
Merge pull request #2679 from matrix-org/travis/settings/field-editable-list
Fix AliasSettings and RelatedGroups UX
2019-02-22 09:40:34 -07:00
Travis Ralston
10daa35263 Make related groups direct manipulation 2019-02-21 16:40:12 -07:00
Travis Ralston
2990cf41e7 Remove old "click to save" functionality from AliasSettings 2019-02-21 16:27:49 -07:00
Travis Ralston
23dd3573f8 Fix SdkConfig import in Notifications
Fixes an issue discovered after fixing the toggle - The SdkConfig in onEnableEmailNotificationsChange ends up being undefined if the import is left as-is.
2019-02-21 15:18:54 -07:00
Travis Ralston
ee8a027b4c Fix toggle for email notifications
The function doesn't receive an event, it receives a boolean.

Fixes https://github.com/vector-im/riot-web/issues/8837
2019-02-21 15:18:11 -07:00
Travis Ralston
7b732ceb43 Merge branch 'develop' into travis/better-room-sorting 2019-02-19 14:35:14 -07:00
J. Ryan Stinnett
198dee9abd Rename default theme to light theme 2019-02-19 13:27:35 +00:00
Travis Ralston
da4d1cfed4 Merge branch 'develop' into travis/better-room-sorting 2019-02-15 23:32:15 -07:00
Travis Ralston
f46df2ddd9 Add a bit of safety around reading events for room settings
Fixes https://github.com/vector-im/riot-web/issues/8530 and maybe https://github.com/vector-im/riot-web/issues/8641
2019-02-14 11:09:37 -07:00
Travis Ralston
37d1191c72 Add credit for cover photo usage
Fixes https://github.com/vector-im/riot-web/issues/8374
2019-02-14 09:04:15 -07:00
Travis Ralston
9175655c16 Remove old pin unread options
They are not forced on, and do nothing.
2019-02-13 13:13:40 -07:00
David Baker
e439d36805
Merge pull request #2626 from matrix-org/dbkr/recheck_key_backup
Re-check key backup status when settings opened
2019-02-13 18:19:39 +00:00
David Baker
d2b4dfce30 Re-check key backup status when settings opened
Fixes https://github.com/vector-im/riot-web/issues/8524
Requires https://github.com/matrix-org/matrix-js-sdk/pull/840
2019-02-13 15:40:44 +00:00
David Baker
737b85c8f0
Merge pull request #2623 from matrix-org/dbkr/fix_force_turn_flag
Security: Force TURN setting was inverted
2019-02-13 15:24:14 +00:00
Matthew Hodgson
3eb5c71b75 rename 'Close Account' back to 'Deactivate Account'.
the word close on a red button makes you feel like you're going to close the
settings dialog, not terminate your account...
2019-02-13 12:24:04 +00:00
David Baker
26287067fc Security: Force TURN setting was inverted
In making the settings more positive, we flipped 'disable peer to
peer' but didn't change the caption, so the setting was inverted
from what it was labelled as.

Also, forcing p2p isn't the inverse of forcing turn.

Change the setting to be 'allow p2p' and the label to match.
2019-02-13 11:51:32 +00:00
J. Ryan Stinnett
b0d08b9a25 Rename dharma theme to light theme 2019-02-13 10:47:04 +00:00
J. Ryan Stinnett
fb7913580e Theme setting needs to update local state 2019-02-13 10:47:04 +00:00
J. Ryan Stinnett
204d6e2c3d Enable theme setting 2019-02-13 10:44:01 +00:00
J. Ryan Stinnett
e401b8f77a Make default and dark the only theme options 2019-02-13 10:44:01 +00:00
David Baker
dbd2f3daa2 Use sub for substitution variable name 2019-02-12 18:08:16 +00:00
David Baker
2c5da21adb KeyBackupPanel fixes
* Separate out the emoji from the translateable string
 * Put back the delete button if you're not using the backup,
   otherwise you're stuck unable to use key backup at all if you
   lost your recovery secret and the device you set it up on.
2019-02-12 18:06:36 +00:00
David Baker
3a0b8cb169 Lint 2019-02-12 16:03:46 +00:00
David Baker
9ec00f8d9b Change text in e2e UX to new copy 2019-02-12 16:01:38 +00:00
David Baker
742af81224
Merge pull request #2594 from matrix-org/dbkr/dont_verify_restore
Prompt to restore backup rather than verify
2019-02-08 17:49:04 +00:00
David Baker
d74d5f1e27 Fix unused imports 2019-02-08 17:30:14 +00:00
David Baker
043f1ab3f0 Remove key backup & sas from labs 2019-02-08 16:58:09 +00:00
Travis Ralston
47b79c0cf6
Merge pull request #2593 from matrix-org/travis/settings/local-echo
Local echo on room access settings
2019-02-08 07:58:51 -07:00
Bruno Windels
00a1ca503c
Merge pull request #2588 from matrix-org/bwindels/removellfeatureflag
remove ll feature flag, it's time!
2019-02-08 12:02:58 +00:00
David Baker
ac98da4a8a Prompt to restore backup rather than verify
Direct the user to restore the backup in order to both get the keys
out of the backup and start putting them in.

Also hide the advanced key backup stuff in a diclosure.
2019-02-08 11:51:22 +00:00
David Baker
abcbd46fe1
Merge pull request #2583 from matrix-org/dbkr/trust_on_decrypt
Trust on decrypt
2019-02-08 11:36:53 +00:00
David Baker
e805df7b4c Use fewer brs 2019-02-08 10:46:38 +00:00
Bruno Windels
748040268a remove unused imports 2019-02-08 09:59:24 +00:00
Travis Ralston
f66c92b1fd Local echo on room access settings
Includes a fix for the aliases warning appearing at the wrong time. 

Fixes https://github.com/vector-im/riot-web/issues/8406
Fixes https://github.com/vector-im/riot-web/issues/8434
2019-02-07 14:01:34 -07:00
Bruno Windels
8c32f88c1c remove homeserver ll check on toggling lab setting 2019-02-07 18:45:00 +00:00
Bruno Windels
ac4ab11985 remove ll feature flag, it's time! 2019-02-07 18:24:07 +00:00
David Baker
f79b777dd4 Trust on decrypt
Add support for trust-on-decrypt (API change, recognise flag on
isKeyBackupTrusted). Catch rejection on wrong passphrase / recovery
key. Fix remembering whether we are restoring with key or passphrase.

Requires https://github.com/matrix-org/matrix-js-sdk/pull/836
2019-02-07 14:39:47 +00:00
Travis Ralston
2e852da72e Actually change power levels when they are changed 2019-02-06 15:06:15 -07:00
Travis Ralston
eac50aa800 Remove old user and room settings
This takes out the old user and room settings, replacing the paths with the new dialog editions. The labs setting has been removed in order to support this change.

In addition to removing the old components outright, some older components which were only used by the settings pages have been removed. The exception is the ColorSettings component as it has a high chance of sticking around in the future.

Styles that were shared by the settings components have been broken out to dedicated sections, making it easier to remove the old styles entirely.

Some stability testing of the app has been performed to ensure the app still works, however given the scope of this change there is a possibility of some broken functionality.
2019-02-04 13:40:21 -07:00
Travis Ralston
7088a3ebc4 Remove unused import 2019-02-01 15:00:44 -07:00
Travis Ralston
016bd028ba Remove warning about encryption being beta 2019-02-01 14:56:29 -07:00
Travis Ralston
dca194f5e1
Merge pull request #2553 from matrix-org/travis/settings/fixes-3
Misc fixes to settings
2019-02-01 09:02:49 -07:00
Travis Ralston
b4fd0c3fbf Add room directory publish button
This was previously missed in the tab's layout.
2019-01-31 22:06:15 -07:00
Travis Ralston
0c0db4ecc7 Copy over disablement of media streams after permissions requested
Fixes https://github.com/vector-im/riot-web/issues/8340
2019-01-31 21:48:44 -07:00
Travis Ralston
a1f1dde9a4 Remove flair from general user settings tab
Fixes https://github.com/vector-im/riot-web/issues/8327
2019-01-31 21:45:29 -07:00
J. Ryan Stinnett
68ae72f855 Spell homeserver correctly 2019-01-31 18:52:39 -06:00
Travis Ralston
bdf2bb5601
Merge pull request #2526 from matrix-org/travis/settings/fixes-1
Round 1 of misc fixes for settings
2019-01-29 22:59:07 -07:00
Travis Ralston
f86e224db6 Merge branch 'experimental' into travis/rsettings/tab/security 2019-01-29 22:15:55 -07:00
Travis Ralston
cd54442add Merge branch 'experimental' into travis/rsettings/tab/advanced 2019-01-29 21:49:00 -07:00
Travis Ralston
b3bb3aff84
Remove spurious void 2019-01-29 21:46:51 -07:00
Travis Ralston
4d0a246629 Put a little padding between section headings 2019-01-29 19:28:30 -07:00
Travis Ralston
f050323f98 Inherit font size from other elements for push notifications table 2019-01-29 19:18:13 -07:00
Travis Ralston
0591c3a2bb Change Riot Bot button text and make it a block element
Fixes https://github.com/vector-im/riot-web/issues/8265
2019-01-29 19:07:02 -07:00
Travis Ralston
e7ed4c13f5 Appease the linter
I should really just get something that does this for me prior to opening a PR
2019-01-29 18:28:44 -07:00
Travis Ralston
2fe7f6fe1c Implement the Advanced tab of new room settings 2019-01-29 18:23:01 -07:00
Travis Ralston
78314ef284 Take out unfederated warning
This is moving to the Advanced tab
2019-01-29 16:10:24 -07:00
Travis Ralston
93ce342d63 Appease the linter 2019-01-29 16:05:47 -07:00
Travis Ralston
0af419633f Implement the Roles & Permissions tab of new room settings
This is largely copy/paste from the current room settings
2019-01-29 15:54:51 -07:00
Travis Ralston
76c31f01f1 Appease the linter 2019-01-29 14:37:21 -07:00
Travis Ralston
a2f516c461 Implement the Security & Privacy tab of new room settings 2019-01-29 14:31:07 -07:00
Travis Ralston
ad276c1fda Merge branch 'experimental' into travis/rsettings/tab/general 2019-01-29 09:11:21 -07:00
Travis Ralston
d34390d230
Merge pull request #2512 from matrix-org/travis/usettings/tab/flair
Implement flair tab in user settings
2019-01-28 20:37:22 -07:00
Travis Ralston
9513837e97 Appease the linter 2019-01-28 13:59:09 -07:00
Travis Ralston
db34666583 Implement leave room button and URL preview settings 2019-01-28 13:54:56 -07:00
Travis Ralston
87e6652b2a Flair settings for rooms 2019-01-28 13:54:56 -07:00
Travis Ralston
3021464e89 Move RoomProfileSettings to the right place 2019-01-28 13:54:56 -07:00
Travis Ralston
ea1d6a0146 Minor styling and avatar bug fixing 2019-01-28 13:54:56 -07:00
Travis Ralston
9a524c49b1 Early support for alias modification in room settings 2019-01-28 13:54:56 -07:00
Travis Ralston
243feb9b13 Early tab structure and profile changes (name/avatar/topic) 2019-01-28 13:54:56 -07:00
Travis Ralston
b7d0dd4408 Rename GeneralSettingsTab to GeneralUserSettingsTab 2019-01-28 13:54:56 -07:00
Travis Ralston
a1e3887a74
Merge branch 'experimental' into travis/settings/positive 2019-01-28 08:25:40 -07:00
Travis Ralston
e2ba1cc0d6 Remove unused import 2019-01-25 15:46:38 -07:00
Travis Ralston
57e45e7e7c Proof of concept for a flair tab in user settings 2019-01-25 15:35:32 -07:00
Travis Ralston
fb36f7abef Fix imports and quotes 2019-01-25 09:18:00 -07:00
Travis Ralston
f7f23e4dea Merge branch 'experimental' into travis/usettings/tab/security 2019-01-25 09:12:07 -07:00
Travis Ralston
cb6f415a05 Be more positive with setting labels
Fixes https://github.com/vector-im/riot-web/issues/6435

This is done through an on-the-fly inverter for the settings. All the settings changed are boolean values, so this should be more than safe to just let happen throughout the SettingsStore. Typically a change like this would be done in the individual handlers (similar to how setting names are remapped to different properties or even different storage locations on the fly), however doing that for this many settings would be a huge nightmare and involve changing *all* the layers. By putting a global "invert this" flag on the setting, we can get away with doing the inversion as the last possible step during a read (or write).

To speed up calculations of the default values, we cache all the inverted values into a lookup table similar to how we represent the defaults already. Without this, the DefaultHandler would need to iterate the setting list and invert the values, slowing things down over time. We invert the value up front so we can keep the generic inversion logic without checking the level ahead of time. It is fully intended that a default value represents the new setting name, not the legacy name.

This commit also includes a debugger for settings because it was hard to visualize what the SettingsStore was doing during development. Some added information is included as it may be helpful for when someone has a problem with their settings and we need to debug it. Typically the debugger would be run in conjunction with `mxSendRageshake`: `mxSettingsStore.debugSetting('showJoinLeaves') && mxSendRageshake('Debugging showJoinLeaves setting')`.
2019-01-24 20:57:40 -07:00
Travis Ralston
1f10cda5e4 Implement the "Help & About" tab of new user settings 2019-01-24 17:10:35 -07:00
Travis Ralston
b0a8cbf75f Implement the "Security & Privacy" tab of new user settings 2019-01-24 15:47:04 -07:00
Travis Ralston
c5deeeaceb
Merge pull request #2498 from matrix-org/travis/usettings/tab/voice
Implement the "Voice & Video" tab of new user settings
2019-01-24 14:59:32 -07:00
Travis Ralston
87cea5ef09 Fix sizings and margins 2019-01-24 14:41:00 -07:00
Travis Ralston
3e09cd1d2e Appease the linter 2019-01-24 13:43:16 -07:00
Travis Ralston
a4e0796bfe Swap out the media permissions text for a paragraph element
The sizing ratio looks way off when the text is just subtext.
2019-01-24 13:37:20 -07:00
Travis Ralston
27ee6625ee Implement the "Voice & Video" tab of new user settings 2019-01-24 13:33:22 -07:00
Travis Ralston
67ba728457 Add widget screenshots to the Labs section
This is a normal setting and not a real labs setting, however the design calls for it to be here.
2019-01-24 12:38:48 -07:00
Travis Ralston
13e36bcead
Merge pull request #2495 from matrix-org/travis/usettings/tab/preferences
Implement the "Preferences" tab on new user settings
2019-01-24 12:05:25 -07:00
David Baker
8c412b85ee
Merge pull request #2496 from matrix-org/dbkr/target_blank
Add target="_blank" to links that don't have it
2019-01-24 18:15:18 +00:00
Travis Ralston
5479a4dac5 Implement the "Preferences" tab on new user settings 2019-01-24 10:32:29 -07:00
Travis Ralston
a9243cf851 Appease the linter 2019-01-24 10:12:25 -07:00
Travis Ralston
06a9ab3a70 Styling to match the other tabs a bit closer
Introduces a new component to reduce code duplication
2019-01-24 10:12:25 -07:00
Travis Ralston
d267f232bc Embed existing notifications settings into the tab 2019-01-24 10:12:25 -07:00
David Baker
4bcb9f12d4 Add target="_blank" to links that don't have it
This is now more of a problem in the Electron app because of
https://github.com/electron/electron/issues/8841 but is still
annoying in the webapp if you're taken away from your chat client.

Exception is the SSO link, as commented (issue filed at
https://github.com/vector-im/riot-web/issues/8247).

Fixes https://github.com/vector-im/riot-web/issues/8226
2019-01-24 16:19:18 +00:00
Travis Ralston
1251f607ef Add missing import 2019-01-24 08:52:45 -07:00
Travis Ralston
d2684638b4 Actually include the lazy loading function 2019-01-24 08:52:45 -07:00
Travis Ralston
f1c1caac62 Implement labs tab in new user settings 2019-01-24 08:52:45 -07:00
Travis Ralston
6f947ab6d9 Appease the linter 2019-01-23 16:09:58 -07:00
Travis Ralston
7fb0cd6c42 Bring over the deactivate account button 2019-01-23 15:56:58 -07:00
Travis Ralston
3f897468a6 Add a ToggleSwitch and use it for SettingsFlag
Also bring in the compact timeline option.

Without minor CSS changes, the old user settings are completely unusable with this change. As such, minimal effort has been put in to have it be useful. Similarly, the changes drop the use of radio groups and the old theme selector was the only one that used it. See the comments for more details on how/why this was mitigated the way it was.
2019-01-23 15:50:41 -07:00
Travis Ralston
97666d39bc Bring in theme and language options 2019-01-23 14:43:45 -07:00
Travis Ralston
d55d145223 Bring over phone number management 2019-01-23 14:16:18 -07:00
Travis Ralston
4a819d319e Early de-linting 2019-01-23 09:41:07 -07:00
Travis Ralston
aa7afe819f Bring over email address management 2019-01-23 09:28:53 -07:00
Travis Ralston
fa1ce61a06 Move profile settings to a dedicated component
The tab component is getting a bit hard to navigate
2019-01-23 09:28:53 -07:00
Travis Ralston
19de6694ca Bring in the change password section
This also changes the layout slightly in the user settings, but nothing detrimental.
2019-01-23 09:28:53 -07:00
Travis Ralston
677b3ca7b5 Bring flair into the new settings
Makes the flair options in old settings look broken (cosmetic issues), but it's fine because we're ripping that out in due time.
2019-01-23 09:27:04 -07:00
Travis Ralston
f643d7a143 Finish the box for displayname/avatar changes 2019-01-23 09:27:04 -07:00
Travis Ralston
de81c8d768 Template out remaining sections 2019-01-23 09:27:04 -07:00
Travis Ralston
feed17d9ac Minor code style fix 2019-01-21 20:55:40 -07:00
Travis Ralston
a488304410 Appease the linter
Appease the linter round 2

Appease the linter round 3

Appease the linter round 4

Appease the linter round 5
2019-01-21 18:41:49 -07:00
Travis Ralston
15a56fa90b Improve the profile section a bit and add a highlight to the temp tab 2019-01-21 17:27:43 -07:00
Travis Ralston
a8ec40a8b0 Add a temporary tab for visiting the old settings
For debugging purposes
2019-01-21 16:51:43 -07:00
Travis Ralston
f1e44757f0 Very early work on the "General" tab 2019-01-21 16:51:43 -07:00
J. Ryan Stinnett
29be3ee4b5 Rename login directory to auth 2019-01-21 17:45:55 -06:00
David Baker
4c381c32ee Show verify button when we have a device to verify
rather than when we don't
2019-01-21 11:34:13 +00:00
J. Ryan Stinnett
7c9509ceb8
Merge pull request #2460 from matrix-org/jryans/versioned-img-urls
Load fonts and images via source-relative URLs and requires
2019-01-18 14:27:55 -06:00
J. Ryan Stinnett
20e296b20e Convert image URLs in React to require calls
This allows Webpack to insert the proper image URL after builds steps like
adding a hash and so on. The path you supply to `require` is relative to the JS
source file, just like any other would be.
2019-01-17 22:06:49 -06:00
David Baker
b551d2f43a Say when backup is signed by unknown device
rather than say it isn't signed by any devices

https://github.com/vector-im/riot-web/issues/8142

Requires https://github.com/matrix-org/matrix-js-sdk/pull/826
2019-01-17 16:45:00 +00:00
J. Ryan Stinnett
365a7273d8 Move initial key backup to background
Since the initial key backup can take several minutes for some users, this moves
the upload step to the background.  The create key backup flow now only marks
all sessions for backup synchronously, with the actual backup happening later.

The key backup panel in Settings gains a new row to show a summary of upload
status.  Users are directed there if they wish to know if the backup is done.

The text in various related dialogs has also been tweaked to fit the new flow.
2019-01-09 12:04:17 -06:00
J. Ryan Stinnett
731f9ee7df Display key backup upload progress in Settings
This adds a summary of the keys currently waiting for backup, which may be
useful for following a large upload as it progresses.
2019-01-09 12:04:17 -06:00
J. Ryan Stinnett
7dbc970347 Mark KeyBackupPanel as a pure component
KeyBackupPanel depends only on its own state and its children are pure, so it
can be pure as well. This avoids some unnecessary re-renders.
2019-01-09 12:04:17 -06:00
J. Ryan Stinnett
02a83a7c2b Use per-message string substitutions in key backup panel
Including unused substitutions triggers console logs, so change the key backup
panel to only substitute what's actually used in each message.

Fixes https://github.com/vector-im/riot-web/issues/8047.
2019-01-08 09:31:33 -06:00
J. Ryan Stinnett
acc2e98355 Add New Recovery Method dialog
Adds a New Recovery Method dialog which is shown when key backup fails because
of a version mismatch / version not found error.

The set up button in the dialog currently only marks a device as verified (via a
verification prompt) instead of the eventual restore and cross-sign flow, since
those pieces don't exist yet.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-18 10:20:12 +00:00
J. Ryan Stinnett
04c30181c6 Expose hidden notification rules in UI
Adds UI control for 3 hidden notification rules:

* Messages containing @room
* Encrypted one-to-one messages
* Encrypted group messages

This should help to clarify some mysterious notification behavior, as it wasn't
obvious that these rules existed.

Fixes vector-im/riot-web#7833.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-12 01:41:27 +00:00
David Baker
4f8c4f1c6e Make create key backup dialog async
So we can add zxcvbn to it without inflating the main bundle size
2018-11-23 10:55:18 +00:00
David Baker
d714176fcd
Merge pull request #2169 from matrix-org/dbkr/e2e_backups
Online incremental megolm backups (v2)
2018-11-21 18:37:43 +00:00
David Baker
985966f8be Update async dialog interface to use promises
Hopefully makes the syntax a bit nicer. Also uses ES6 async import
rather than require.ensure which is now deprecated. Also also
displays an error if the component fails to load rather than falling
over in a heap, which is nice.
2018-11-21 16:56:44 +00:00
David Baker
6d6e6b5a4e Remove cryptic abbreviation 2018-10-31 20:01:36 +00:00
David Baker
1a878fc77a Quote consistency 2018-10-31 19:56:34 +00:00
David Baker
23332e16c5 keyBackupStatus event now has crypto. prefix 2018-10-31 18:07:29 +00:00
David Baker
8ac62f8c12 Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups 2018-10-29 16:20:45 +00:00
Aaron Raimist
49ce4ef117
eslint --fix src/
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-26 22:50:38 -05:00
David Baker
b59b8b7fca Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups 2018-10-25 17:42:46 +01:00
Aaron Raimist
9f1b1d2028
Fix more lint errors
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-11 22:50:24 -05:00
Aaron Raimist
1287d9c49b
Fix lint errors in Notifications.js
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-11 22:44:02 -05:00
Peter Vágner
ded35e43a0
A11y: repurpose more divs into AccessibleButtons.
With this more of the
controls that look like buttons can be operated via the keyboard and
navigated to by screen reader users. This includes editor buttons such
as File upload, Audio / Video call, Right pannel hide button, Jump to
the bottom timeline button, and some more buttons found in the user
settings.
Also I have added alt texts to some images that in turn label buttons
which these happen to be packed in and removed some untranslated alt
texts from decorative non-actionable images that might add more
verbosity when talking about screen reader user experience.
2018-10-02 13:55:24 +02:00
David Baker
12d10cccef Show if sig is from this device 2018-09-17 17:14:03 +01:00
David Baker
9a65e6817a Support restoring key backup 2018-09-17 16:00:23 +01:00
David Baker
2e6d27717c LIIIIIIIIIIIIIIIINT! 2018-09-14 17:33:25 +01:00
David Baker
d94553bafc UI for whether the key backup is enabled or not 2018-09-14 17:08:02 +01:00
David Baker
292b1f09af WIP e2e key backups
Continues from Matthew's work: adds a feature flag & panel in
user settings to create a backup.

Can't restore a backup yet, nor even continue backing up to the same
backup after a refresh.
2018-09-13 17:11:46 +01:00
Luke Barnard
9265f0d032
Merge pull request #1990 from matrix-org/t3chguy/no_displayname
fix no displayname usersettings
2018-06-22 10:34:04 +01:00
Michael Telatynski
9fa7cb8635
delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-19 07:57:28 +01:00
Michael Telatynski
baf0d37983
un-break having no displayname user settings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-19 07:56:04 +01:00
Michael Telatynski
015d433235
fix a way to get stuck in set password/email flow
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-18 18:14:48 +01:00
Matthew Hodgson
40a67ca8fe point imports at the new locations 2018-04-13 00:43:44 +01:00
Matthew Hodgson
8ab8f76254 move non-Riot-specific components over from riot-web 2018-04-11 23:58:04 +01:00
Michael Telatynski
e45fcf10c7
Refactor DateUtils to ES6
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-10 12:00:11 +00:00
Aidan Gauland
35780f5ae0 Remove use of deprecated React.PropTypes
Replace all uses of React.PropTypes with PropTypes and importing PropTypes from
'prop-types'.
2017-12-26 14:03:18 +13:00
Luke Barnard
736b8045aa Remove evil auth cache 2017-11-28 15:54:00 +00:00
Luke Barnard
1c71983610 Implement UI for using bulk device deletion API 2017-11-28 15:32:40 +00:00
David Baker
57d516f042 Don't refresh page on password change prompt
It's on the form submit but missing a preventDefault
2017-10-30 16:28:27 +00:00
Travis Ralston
6e7f0d649b Add option to unset your own avatar
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-13 21:13:47 -06:00
Travis Ralston
e5c8e3e7ad Add option to unset room avatar
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-13 20:57:15 -06:00
Luke Barnard
d3f9a3aeb5 Run eslint --fix
Fixing 1000s of lint issues. Some rules cannot be `--fix`ed but this goes some way to linting the entire codebase.
2017-10-11 17:56:17 +01:00
Michael Telatynski
6d530eeb6e
apply i18n _t to string which has already been translated
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-22 20:04:04 +01:00
Michael Telatynski
766c188a1e
hotfix bad fn signature regression
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-17 17:15:18 +01:00
Michael Telatynski
24599ace32
don't track error messages
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 13:49:11 +01:00
Michael Telatynski
bf98c0da7c
un-i18n Modal Analytics
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-27 17:19:18 +01:00
Richard van der Hoff
0d7cc59d99 replace q method calls with bluebird ones
```
find src test -name '*.js' |
    xargs perl -i -pe 's/q\.(all|defer|reject|delay|try|isFulfilled)\(/Promise.$1(/'
```
2017-07-12 18:05:40 +01:00
Richard van der Hoff
a06bd84213 replace imports of q with bluebird
update `package.json`

```
find src test -name '*.js' |
   xargs perl -i -pe 'if (/require\(.[qQ].\)/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'

find src test -name '*.js' |
   xargs perl -i -pe 'if (/import [qQ]/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
```
2017-07-12 18:05:08 +01:00
David Baker
bc8c2d442b WithMatrixClient -> withMatrixClient
because we're using it as a function rather than a React component
2017-07-07 11:34:20 +01:00
David Baker
57ef6f3cf8 Make enter submit change password form
Fixes https://github.com/vector-im/riot-web/issues/4302
2017-06-14 14:50:48 +01:00
Luke Barnard
4344af58ee Ask for email address after setting password for the first time
So that the user can reset their password.
2017-06-14 09:31:16 +01:00
Kegan Dougal
c57823a31d Merge branch 'develop' into kegan/translation-tamarin 2017-06-08 14:19:56 +01:00
Kegan Dougal
1c58a9cd5e Everything but src/components/views/rooms 2017-06-08 12:33:29 +01:00
Matthew Hodgson
5c885922d9 Merge branch 'develop' into new-guest-access 2017-05-28 22:58:18 +01:00
Matthew Hodgson
3302fc690f fix all missing translations picked up by check-i18n.pl 2017-05-27 18:20:44 +01:00
David Baker
62ffe929e4 Translate Add Threepid labels 2017-05-26 18:03:24 +01:00
David Baker
443ab1add7 Put back default strings on dialogs
But make them work by calling _t in render rather than
getDefaultProps().

Also sort out some 'Warning!' strings
2017-05-25 18:20:48 +01:00
Luke Barnard
11799b4c71 Show "Password" instead of "New Password" when the existing password has been cached 2017-05-25 15:27:54 +01:00
David Baker
5c359e63ab Bulk change counterpart imports
to use languageHandler wrapper func
2017-05-25 11:39:08 +01:00
David Baker
d419c42a4f Squash merge https://github.com/matrix-org/matrix-react-sdk/pull/801 2017-05-23 15:16:31 +01:00
Luke Barnard
05aaa599cc Merge branch 'develop' into new-guest-access
Conflicts:
	src/components/structures/MatrixChat.js
2017-05-22 16:19:10 +01:00
Luke Barnard
a1f10ff46d Add prop to toggle whether new password input is autoFocused 2017-05-22 14:46:49 +01:00
Luke Barnard
2c5fb01f03 Fix bugs introduced by dodgy merge 2017-05-16 14:13:22 +01:00
Luke Barnard
66985e6d08 Merge branch 'new-guest-access' into luke/new-guest-access-change-pwd 2017-05-16 13:59:54 +01:00
Luke Barnard
5a3c32044e disableConfirmation -> confirm 2017-05-16 12:45:14 +01:00
Luke Barnard
eb36e979c2 Reference store token, call .remove on it on unmount 2017-05-16 11:52:51 +01:00
Luke Barnard
f7e6a996c5 Add proptype 2017-05-16 11:51:09 +01:00
Luke Barnard
93ecdc90a9 Make confirmation optional on ChangePassword
Add option to disable password change confirmation (`disabledConfirmation`). Style fixes, use `<button>` element on ChangePassword submit button.
2017-05-16 11:45:01 +01:00
Luke Barnard
269fd51130 Remove SessionStore listener on unmount 2017-05-15 17:17:32 +01:00
Luke Barnard
da3cb0ee48 SessionStore extends flux.Store 2017-05-15 14:52:19 +01:00
Matthew Hodgson
317e24852d explicitly label email & phone add sections; fixes https://github.com/vector-im/riot-web/issues/3531 2017-05-15 03:03:17 +01:00
Luke Barnard
536724e7c5 ES6 SessionStore 2017-05-12 15:58:44 +01:00
Luke Barnard
1176573f39 Implement SessionStore
This wraps session-related state into a basic flux store. The localStorage item 'mx_pass' is the only thing managed by this store for now but it could easily be extended to track other items (like the teamToken which is passed around through props a lot)
2017-05-12 12:02:45 +01:00
Luke Barnard
8725ef3863 Remove "Current Password" input if mx_pass exists
If the user is PWLU, do not show "Current Password" field in ChangePassword and when setting a new password, use the cached password.
2017-05-11 17:47:45 +01:00
Luke Barnard
336462366e Improve country dropdown UX and expose +prefix
A prefix is now exposed through a change to the API for onOptionChange. This now returns the entire country object which includes iso2, prefix etc.

This also shows the prefix in the Registration and Login screens as a prefix to the phone number field.
2017-04-25 11:21:47 +01:00
Matthew Hodgson
6dbb4e9002 fix the warning shown to users about needing to export e2e keys
apparently when we added the buttons to export e2e keys to the Logout button, we didn't change the text warning the user that e2e export was coming soon.  likewise when changing password and forgetting password (where we didn't even have a button to export keys)
2017-04-07 23:34:11 +01:00
David Baker
5e3b991ec2 PR feedback fixes 2017-03-24 10:45:38 +00:00
David Baker
d5272149f6 Another unmounted guard 2017-03-22 16:42:44 +00:00
David Baker
b58d8bffe1 More PR feedback
Unmounted guards, extra semicolon, return early to lose indent
level, add keys.
2017-03-22 16:41:08 +00:00
David Baker
6b78440466 Unmounted guard 2017-03-22 16:36:42 +00:00
David Baker
e39979a61f Convert to old style react class 2017-03-22 16:15:45 +00:00
David Baker
cca607d469 Make phone number form a bit more semantic 2017-03-22 15:39:09 +00:00
David Baker
4cd24d15d4 Factor out AddPhoneNumber to a separate component 2017-03-22 15:18:27 +00:00
David Baker
1bdf213d67 Merge pull request #729 from matrix-org/dbkr/register_ui_auth
Port registration over to use InteractiveAuth
2017-03-03 13:37:41 +00:00
Luke Barnard
7a092e4ac7 Submit a new display name on blur of input field 2017-03-02 17:29:06 +00:00
David Baker
51467506f8 Port registration over to use InteractiveAuth
These changes are moved over from the dbkr/msisdn_signin branch
2017-02-24 11:41:23 +00:00
Matthew Hodgson
629f8caad7 oops, remove unneeded import 2017-02-21 09:50:10 +00:00
Matthew Hodgson
6af0b9618a first cut of improving UX for deleting devices.
This adds a 5 minute auth cache to speed up the process of deleting
old devices.  It has the following nastinesses (mainly due to being
written on a flight whilst juggling kids):
 * the auth cache is done as context attached to MatrixChat.
   one could argue that it should be per-client instead, but we don't
   yet have multiple clients.
 * the auth cache is only maintained currently in DevicesPanelEntry
   (i.e. set & invalidated).  One could argue that it might be better
   maintained in InteractiveAuth.js or a dedicated cache object
   abstraction, but given the only use I can think of is when managing
   devices, perhaps this is good enough for now.
2017-02-21 00:19:49 +00:00
Matthew Hodgson
5ac76acc05 limit avatar uploads to images 2017-02-19 02:07:08 +02:00
David Baker
fc9987a827 Merge pull request #646 from matrix-org/matthew/password-reset-warning
Warn users of E2E key loss when changing/resetting passwords or logging out
2017-01-25 11:04:35 +00:00
Richard van der Hoff
770820e6fa Fix a bunch of lint complaints 2017-01-24 22:41:52 +00:00
Matthew Hodgson
5b61d00533 warn users that changing/resetting password will nuke E2E keys 2017-01-24 22:36:55 +01:00
Richard van der Hoff
6dd46d532a Merge remote-tracking branch 'origin/develop' into rav/hotkey-ux 2017-01-24 20:47:24 +00:00
David Baker
18d4d3392a Fix a bunch of linting errors
eslint --fix and a few manual ones
2017-01-20 14:22:27 +00:00
Jani Mustonen
959163f2ef Proper accessible buttons 2017-01-13 19:36:41 +02:00
Jani Mustonen
8d79716421 Turned the links to buttons to comply with MDN's recommendations 2017-01-13 19:36:40 +02:00
Jani Mustonen
ad072cc179 Turned buttons from divs to links. Makes it possible for screen readers and hotkeys to recognize the buttons. 2017-01-13 19:36:40 +02:00
Richard van der Hoff
5c18a9ccca Interactive auth for device delete 2016-10-12 08:23:08 +01:00
Matthew Hodgson
8bda0bb095 basic verification UI 2016-09-15 01:55:51 +01:00
Matthew Hodgson
fb5f8294c8 switch to namespaced CSS 2016-08-28 00:00:10 +01:00
Richard van der Hoff
55a28564b9 Add device_id to devices display
(it turns out to be quite useful)
2016-08-11 16:24:09 +01:00
Richard van der Hoff
f4d41b7847 DevicesPanel: use device_id as a placeholder
A device may have no display_name set, in which case we probably want to use
the device_id as a placeholder.
2016-08-03 14:19:54 +01:00
Richard van der Hoff
c071bc54f9 Implement device management UI
View/rename/delete.
2016-08-01 13:42:29 +01:00
Richard van der Hoff
3194c5c61d Factor EditableTextContainer out of ChangeDisplayName
Take the non-displayname-specific bits out of ChangeDisplayName into a new
EditableTextContainer, so that we can reuse the logic elsewhere.
2016-07-29 17:40:13 +01:00
Matthew Hodgson
a44ebddae0 show default displayname in ChangeDisplayName prompt 2016-03-19 02:45:06 +00:00
Matthew Hodgson
576de32ce4 show vaguely accurate default avatar 2016-02-15 22:01:22 +02:00
Matthew Hodgson
14c2d945d6 oops, use right class 2016-01-20 15:58:17 +00:00
Matthew Hodgson
4d2608017b fix CSS for ChangeAvatar placeholder 2016-01-20 15:39:56 +00:00
Matthew Hodgson
aefecfc645 tweak roomheader layout when editing 2016-01-15 15:23:41 +00:00
Matthew Hodgson
f2dc1e835b placeholder for displayname 2016-01-15 13:11:37 +00:00
Matthew Hodgson
84b46dae4e make ChangeAvatar customisable size... 2016-01-15 12:35:18 +00:00
Matthew Hodgson
ef00a1624d fix up RoomSettings somewhat and implement room colors 2016-01-08 03:22:38 +00:00
Matthew Hodgson
0772f50fab update copyright for 2016 2016-01-07 04:06:52 +00:00
Kegan Dougal
5d490841bc Review comments 2015-12-24 10:50:47 +00:00
Kegan Dougal
5286ec170f Wrangle CSS to get avatar in right place 2015-12-24 09:20:16 +00:00
Kegan Dougal
a279dce027 Get avatar display and uploads working 2015-12-23 16:52:59 +00:00
Kegan Dougal
19bd39b066 More random tweaks
- Make onBlur reset the EditText to show that it hasn't submitted it.
- Add the user ID of the logged in user to Advanced.
- Remove remnants of the Save/Cancel buttons.
2015-12-23 16:02:18 +00:00
Kegan Dougal
72b8cf1be2 Refactor ChangePassword to get it working. Add 'Account' section because trying to make ChangePassword divs part of the same table as the display name is nigh impossible. Feels okay though 2015-12-23 15:38:28 +00:00
Kegan Dougal
e657b40a7e Use ChangeDisplayName for implict display name saving on enter 2015-12-23 14:14:25 +00:00