Commit graph

1032 commits

Author SHA1 Message Date
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
Kegan Dougal
945a65f4b5 Move Notifier to src/ since it isn't a component. 2015-11-30 15:04:24 +00:00
Kegan Dougal
fc7707971e Move and merge Change Avatar|DisplayName|Password components 2015-11-26 17:10:36 +00:00
Kegan Dougal
8bde761a8a Add EnableNotificationButton component 2015-11-26 15:11:08 +00:00