Commit graph

258 commits

Author SHA1 Message Date
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