Commit graph

365 commits

Author SHA1 Message Date
Michael Telatynski
d585dbab02 Merge branches 'develop' and 't3chguy/s1' of https://github.com/matrix-org/matrix-react-sdk into t3chguy/s1 2020-02-04 15:48:04 +00:00
Michael Telatynski
e23a3e98be Only enumerate settings handlers which are supported currently 2020-02-04 15:27:38 +00:00
Michael Telatynski
f6c7df8c69 Keep date in Watcher IDs 2020-02-04 11:14:49 +00:00
Michael Telatynski
2d8a2c5210 Merge branches 'develop' and 't3chguy/watcher_id' of https://github.com/matrix-org/matrix-react-sdk into t3chguy/watcher_id 2020-02-04 10:47:53 +00:00
Michael Telatynski
a8f7e381eb SettingsStore, use a counter instead of wall clock for watcher ids 2020-02-04 10:41:48 +00:00
Damir Jelić
01c1c2364b ManageEventIndexDialog: Add back a control for the crawler sleep time. 2020-01-31 18:46:45 +01:00
J. Ryan Stinnett
11008cfabf
Merge pull request #4013 from matrix-org/jryans/padlock-flag
Add temporary feature flag to control padlocks
2020-01-31 13:44:12 +00:00
David Baker
cb9362456f remove setter 2020-01-31 13:18:01 +00:00
David Baker
2d9b111680 Add an override for the theme
So we can force the light theme on unthemeable pages like the login
& complete security page.

Fixes https://github.com/vector-im/riot-web/issues/12149
Fixes https://github.com/vector-im/riot-web/issues/12157
2020-01-31 12:28:14 +00:00
J. Ryan Stinnett
b64ba1dbbf Add temporary feature flag to control padlocks
This default on feature flag will help in case we want to trial padlocks on vs.
off this weekend.

Fixes https://github.com/vector-im/riot-web/issues/12166
2020-01-31 11:09:49 +00:00
J. Ryan Stinnett
788cb24093 Add advanced option to keep secret storage in memory for session
This adds a default-off option to keep the secret storage passphrase cached in
memory for the current session to avoid death by prompts.
2020-01-30 14:18:12 +00:00
J. Ryan Stinnett
d362cc0f41 Fix room device level send setting 2020-01-29 19:55:27 +00:00
J. Ryan Stinnett
81ee27f41e Replace device with session in UI text
This replaces "device" with "session" throughout user-visible text at the React
layer. Variable names and comments are left as-is for now.
2020-01-29 15:52:32 +00:00
Zoe
7d6981ba1a Revert "reload on enabling cross-signing just to make things generally happier"
This reverts commit 2aa21d9199.

It was causing a login loop
2020-01-29 11:29:56 +00:00
Michael Telatynski
2aa21d9199 reload on enabling cross-signing just to make things generally happier 2020-01-29 07:54:28 +00:00
Travis Ralston
2a1407a531 Add more logging to settings watchers
To try and track leaks versus spam.

Fixes https://github.com/vector-im/riot-web/issues/12094 (it's not leaking, probably)
2020-01-27 15:36:12 -07:00
Damir Jelić
e2dd2bd950 Merge branch 'poljar/seshat-ui-pr' into develop 2020-01-27 17:18:17 +01:00
Damir Jelić
947ea9823d Settings: Remove the crawler sleep time setting. 2020-01-23 13:32:27 +01:00
Damir Jelić
4953f32cba ManageEventIndex: Rename the enable crawler setting. 2020-01-23 12:26:26 +01:00
Travis Ralston
139b5663fe Remove user lists feature flag, making it the default
Fixes https://github.com/vector-im/riot-web/issues/11201
2020-01-22 21:14:53 -07:00
Damir Jelić
3c46a56391 EventIndex: Fix some lint errors. 2020-01-17 14:22:22 +01:00
Damir Jelić
0132c3bbe3 EventIndex: Start the crawler only if it's configured to start. 2020-01-17 14:22:22 +01:00
Damir Jelić
47156351a6 EventIndex: Use a setting for the crawler sleep time. 2020-01-17 14:22:22 +01:00
Travis Ralston
73fc91aa20 Rename feature flag for use in both code paths 2020-01-16 13:44:59 -07:00
J. Ryan Stinnett
27ee90cad5 Add post-login complete security flow
This adds a step after login to complete security for your new session. At the
moment, the only verification method is entering your SSSS passphrase, but nicer
paths will be added soon.

This new step only appears when crypto is available and the account has
cross-signing enabled in SSSS.

Fixes https://github.com/vector-im/riot-web/issues/11214
2020-01-15 21:53:36 +00:00
Travis Ralston
5fd27a10bb Merge branch 'develop' into travis/sourcemaps 2020-01-13 11:19:41 -07:00
J. Ryan Stinnett
2168e7ec0c Add feature flag around the presence indicator in room list
This adds a feature flag (disabled by default for now) around the room list
presence indicator, as it still needs some tweaking before it's ready for
production use.

Part of https://github.com/vector-im/riot-web/issues/11799
2020-01-13 11:48:55 +00:00
Travis Ralston
fde32f13a5 [CONFLICT CHUNKS] Merge branch 'develop' into travis/sourcemaps-develop 2020-01-09 14:15:09 -07:00
Michael Telatynski
d31c863563 Remove all usages of slate in favour of CIDER
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-06 00:15:48 +00:00
Travis Ralston
781b69f4e3
Merge pull request #3693 from matrix-org/hs/bridge-info
Bridge info settings tab
2020-01-05 17:03:15 -07:00
Travis Ralston
4de0f7257a Initial implementation of FTUE user lists design
This covers the "recents" section and rough design exclusively. It is known that the Field does nothing and that there's a bunch of missing functionality - this is to be iterated upon in future PRs. Labs flag is to aide development and should be removed in a very near future PR.

Also, this is focusing on DMs and not user lists in general because I misinterpreted the scope. I'll fix this in a future PR and instead make this the best DM invite dialog it can be.

Closes https://github.com/vector-im/riot-web/issues/11197
2020-01-02 17:40:18 -07:00
Will Hunt
0a8cc416bf
Merge branch 'develop' into hs/bridge-info 2019-12-30 17:09:05 +01:00
Travis Ralston
18ac2db2ea Fix Notifier imports in NotificationControllers
require() is a bit weird for riot-web's webpack, so we fork it out to its own function to reduce the weirdness. 

The added weirdness is that require() is sync though exports a module instead. If we use import(), we get a promise which doesn't help us here. We therefore have to require() and pull out the default export, though this is only a problem for webpack - babel (our chosen compiler for exporting ES6) doesn't need this, hence the if statement.
2019-12-22 21:25:47 -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
be4eeb5e07 Fix js-sdk imports for new module 2019-12-22 21:10:26 -07:00
David Baker
3d8422c88a Combine cross signing and verification over DM feature flags
This means we can just make the new member info panel support
cross-signing exclusively rather than having to try & make it
temporarily support both
2019-12-19 15:23:32 +00:00
Half-Shot
7ee5f7ba38 Add feature flag 2019-12-09 13:28:43 +00:00
Travis Ralston
6e882251bd Break the right panel completely
This lays a foundation for redirecting all the traffic through the new store, but for now the core parts of the app need to stop caring if the right panel is open.
2019-12-05 17:47:18 -07:00
Travis Ralston
5253f29928 Build out a store for the right panel state machine
This should make it easier to funnel the expected behaviour through a central block of code.
2019-12-05 15:31:01 -07: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
4cec7c41b1 Fix override behaviour of system vs defined themes
Fixes https://github.com/vector-im/riot-web/issues/11509
2019-11-26 09:52:35 -07:00
J. Ryan Stinnett
54294e4927 Clarify that cross-signing is in development
In an attempt to clarify the state of this highly anticipated feature, this
updates the labs flag name to match.

Part of https://github.com/vector-im/riot-web/issues/11492
2019-11-25 14:30:13 +00: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
David Baker
00241a8d0c
Merge pull request #3637 from matrix-org/dbkr/system_dark_mode
Get theme automatically from system setting
2019-11-20 16:32:37 +00:00
David Baker
e36f4375b0 Bugfix & clearer setting name 2019-11-20 16:12:14 +00:00
Michael Telatynski
6121420113
Merge branch 'develop' into t3chguy/remove_bluebird 2019-11-20 15:21:23 +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
Damir Jelić
44b212bc4c Merge branch 'poljar/seshat-pr' into develop 2019-11-20 13:33:03 +01:00
Damir Jelić
0631faf902 Settings: Fix the supportedLevels for event indexing feature. 2019-11-20 12:31:07 +01:00
Bruno Windels
43884923e8 merge the feature_user_info_panel flag into feature_dm_verification 2019-11-19 14:18:12 +01:00
Damir Jelić
f776bdcc8b EventIndex: Hide the feature behind a labs flag. 2019-11-19 14:05:00 +01:00
Travis Ralston
2f89f28496 Remove extraneous paranoia
The value is nullchecked later on.
2019-11-18 14:25:04 -07:00
Travis Ralston
8d25952dbb Add a bit more safety around breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/11420
2019-11-18 14:17:31 -07:00
J. Ryan Stinnett
b8c0a0fe72 Reload automatically when changing cross-signing flag 2019-11-18 16:06:00 +00:00
J. Ryan Stinnett
50cccd3212 Add cross-signing feature flag
Fixes https://github.com/vector-im/riot-web/issues/11407
2019-11-18 16:06:00 +00:00
Michael Telatynski
d4d51dc61f Rip out the remainder of Bluebird 2019-11-18 10:03:05 +00:00
Travis Ralston
6d0b388fa2
Merge branch 'develop' into travis/mjolnir 2019-11-12 10:00:01 -07:00
Bruno Windels
5c9e80a0ba add feature flag and send verification using DM from dialog if enabled 2019-11-07 19:54:56 +01:00
Travis Ralston
23383419e8 Add settings base for Mjolnir rules 2019-10-31 13:20:18 -06:00
Travis Ralston
9d0d1d3b36 Our code should probably compile... 2019-10-29 14:38:39 -06:00
Travis Ralston
5af6d979c2 Support a setting for allowed widgets
Hooking this setting up is left as a problem for a different issue.
2019-10-29 14:35:35 -06:00
Travis Ralston
28e0988325 Fix naming of integrationProvisioning 2019-10-29 14:26:35 -06:00
Travis Ralston
3b771f682d let -> const 2019-10-29 14:23:59 -06:00
Travis Ralston
dd8f26a3f6 Add integration manager provisioning setting
To be used later by a future implementation
2019-10-29 14:20:53 -06:00
Travis Ralston
8dec435e50 Bring breadcrumbs into new Riot config standard 2019-10-29 14:12:05 -06:00
Michael Telatynski
df02eb8e92 Add UserInfo panel (consolidation of MemberInfo & GroupMemberInfo) Labs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-07 16:52:50 +01:00
Michael Telatynski
e200193b0a DRY and fix useCiderComposer being in both labs and preferences
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-04 10:15:00 +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
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
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
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
Matthew Hodgson
832123524d make the lifetimes of the RM configurable 2019-09-17 17:34:30 +01:00
Travis Ralston
e29184ae1d Support secret per-room hidden read receipts 2019-09-06 13:02:18 -06: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
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
Bruno Windels
9c6953f176 lint 2019-08-22 14:11:04 +01:00
Bruno Windels
b395fad834 add feature flag, allowing to revert to old slate editor 2019-08-22 14:07:43 +01:00
J. Ryan Stinnett
67b830c48d Improve fallback ICE setting label 2019-08-15 15:05:25 +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
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
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
J. Ryan Stinnett
599c49613f Remove reactions feature flag
Fixes https://github.com/vector-im/riot-web/issues/10282
2019-07-17 17:00:36 +01:00
J. Ryan Stinnett
674f33917f Remove editing feature flag
Part of https://github.com/vector-im/riot-web/issues/10282
2019-07-17 16:56:15 +01:00
J. Ryan Stinnett
202f6fb94d Continue to next config level after device for features
This ensures we continue checking further config levels for the feature setting
if nothing is found when reading the device level. For example, this means the
feature setting's default value can be used.
2019-07-17 14:50:35 +01:00
J. Ryan Stinnett
3801f0b78e Enable reactions and edits by default
This enables reactions and edits by default, assuming you don't have any local
device settings that would disable them.

Fixes https://github.com/vector-im/riot-web/issues/10281
2019-07-17 14:50:35 +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
96c20ea536 Add missing keys to notif sound setting 2019-05-31 11:40:23 +01: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
Travis Ralston
d81804e0fe Merge branch 'develop' into matthew/low_bandwidth 2019-05-30 19:42:09 -06:00
J. Ryan Stinnett
45cdf880b1 Change setting style 2019-05-17 17:43:08 +01:00
J. Ryan Stinnett
3a405701a3 Debug: Show all events 2019-05-17 16:34:01 +01:00
Will Hunt
2994d99378
Merge branch 'develop' into hs/custom-notif-sounds 2019-05-15 16:09:55 +01:00
Will Hunt
277c4ab809
Merge branch 'develop' into hs/custom-notif-sounds 2019-05-14 21:07:03 +01:00
Bruno Windels
0b18ff52c5 pass feature flag to js-sdk 2019-05-14 15:43:10 +01:00
Bruno Windels
036cb02c0e add feature flag 2019-05-14 15:39:24 +01:00
Will Hunt
64a384477e Resolve issues 2019-05-12 17:14:21 +01:00
J. Ryan Stinnett
8903f65fcb Enable client-side aggregations for reactions
If reactions are enabled, we need to enable client-side aggregation in the
`MatrixClient` to access the data.
2019-05-10 17:19:27 +01:00
Will Hunt
efc93abb50
Merge branch 'develop' into hs/custom-notif-sounds 2019-05-07 20:04:29 +01:00
J. Ryan Stinnett
7f62cdf124 Add reactions feature flag 2019-04-30 17:51:18 +01:00
Will Hunt
020d210cb0 Use uk.half-shot.* 2019-04-23 16:23:58 +01:00
Will Hunt
9de8920869 Remove trailing space 2019-04-22 23:04:03 +01:00
Will Hunt
8258e93337 Use m.notification.sound 2019-04-21 18:03:54 +01: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
Travis Ralston
934ca6908f Remove breadcrumb scroll tolerances and use sensible defaults
Fixes https://github.com/vector-im/riot-web/issues/9394
Fixes https://github.com/vector-im/riot-web/issues/9400

Numbers chosen based on user feedback. The setting has also been removed because it isn't really needed anymore.
2019-04-11 11:07:31 -06:00
Travis Ralston
aa96fd27cc Add some tolerances to breadcrumb scrolling
See https://github.com/vector-im/riot-web/issues/9400
See https://github.com/vector-im/riot-web/issues/9394

Tolerances are defined as a device-only setting to give advanced users an option to override the values. No UI is exposed for this. 

The default values are picked for assumptions on comfort, however as people change the tolerances themselves the defaults may need to change.
2019-04-08 10:56:44 -06:00
Travis Ralston
e2edae3383 Merge branch 'develop' into travis/breadcrumbs/telemetry 2019-04-05 09:35:38 -06:00
Travis Ralston
44198ea97d Sync breadcrumb rooms through account data
Fixes https://github.com/vector-im/riot-web/issues/9315

Other clients would need to listen for and update im.vector.riot.breadcrumb_rooms in account data.
2019-04-04 15:06:03 -06:00
Travis Ralston
842e19280d Apply changes to breadcrumbs setting live 2019-04-01 11:49:58 -06:00
Travis Ralston
69fcebf045 Use allow/deny instead of whitelist/blacklist for terminology 2019-03-25 21:14:21 -06:00
Travis Ralston
2dcb40f1be Track OpenID automatic permissions by (widgetLocation, widgetUrl) 2019-03-23 23:25:31 -06:00
Travis Ralston
f045beafc3 Support whitelisting/blacklisting widgets for OpenID 2019-03-15 21:33:31 -06:00
Travis Ralston
2c2685a3ea
Merge pull request #2705 from matrix-org/travis/fix-monitored-settings
Use a global WatchManager for settings
2019-02-27 08:02:27 -07:00
Travis Ralston
ad374b3118 Try to clarify that "Show read receipts" is just for visibility
The setting does not apply to sending them, just seeing them.
2019-02-26 15:27:50 -07:00
Travis Ralston
93673eff12 Use a global WatchManager for settings
Fixes https://github.com/vector-im/riot-web/issues/8936

Watchers are now managed by the SettingsStore itself through a global/default watch manager. As per the included documentation, the watch manager dispatches updates to callbacks which are redirected by the SettingsStore for consumer safety.
2019-02-26 12:52:59 -07:00
Travis Ralston
3d152da822 Support custom tags in the new algorithm 2019-02-25 13:39:08 -07: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
7ea4008daa Implement support for watching for changes in settings
This implements a dream of one day being able to listen for changes in a settings to react to them, regardless of which device actually changed the setting. The use case for this kind of thing is extremely limited, but when it is needed it should be more than powerful enough.
2019-02-22 17:09:07 -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
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
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
19e94b9e32 Allow storing the theme settting again 2019-02-13 10:47:04 +00:00
J. Ryan Stinnett
df2f520d72 Fix up any unsupported themes when read from settings 2019-02-13 10:44:01 +00:00
J. Ryan Stinnett
215995de88 Resume reading default theme from config 2019-02-13 10:44:01 +00:00
Bruno Windels
b467bfdced mention it only shows up after refresh (actually rerender) 2019-02-12 12:49:22 +01:00
Bruno Windels
03c491416e put breadcrumbs behind feature flag 2019-02-12 11:41:24 +01:00
David Baker
043f1ab3f0 Remove key backup & sas from labs 2019-02-08 16:58:09 +00:00
Matthew Hodgson
ce24165e19 port over low_bandwidth mode to develop 2019-02-08 16:44:03 +00:00
Bruno Windels
3c5fb61350 Merge branch 'develop' into bwindels/customtags-featureflag 2019-02-08 12:12:43 +00:00
Bruno Windels
cf7e1f9d88 remove import as well 2019-02-07 18:47:08 +00:00
Bruno Windels
ac4ab11985 remove ll feature flag, it's time! 2019-02-07 18:24:07 +00:00
Bruno Windels
e8533beafb guard custom tags with feature flag 2019-02-07 18:07:30 +00: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
a1e3887a74
Merge branch 'experimental' into travis/settings/positive 2019-01-28 08:25:40 -07:00
Travis Ralston
e1bc1eee43 Appease the linter 2019-01-25 09:30:13 -07:00
Travis Ralston
d136c33a87 Invert setting values in a common place 2019-01-25 09:04:56 -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
David Baker
6a90625d36 Merge remote-tracking branch 'origin/experimental' into dbkr/sas 2019-01-23 17:32:18 +00:00
Travis Ralston
5ef9015133 Add labs flag for tabbed settings 2019-01-22 10:28:33 -07:00
David Baker
970880737e Merge remote-tracking branch 'origin/experimental' into dbkr/sas 2019-01-18 18:33:11 +00:00
Travis Ralston
7f6ce69c3e Merge branch 'experimental' into travis/develop2 2019-01-17 16:03:45 -07:00
Bruno Windels
8c30d05eb8 Revert "Merge pull request #2348 from matrix-org/bwindels/roomgridview-experimental"
This reverts commit ece5cb1fcc, reversing
changes made to 64a3d2521c.
2019-01-17 10:29:37 +01:00
David Baker
55889d5491 Change wording of 'invite anyway' setting
https://github.com/vector-im/riot-web/issues/7922
2019-01-16 15:07:30 +00:00
David Baker
1d2538a7bc First working version of SAS 2019-01-15 18:08:13 +00:00
J. Ryan Stinnett
632bbde598 Remove usused setting value from CustomStatusController 2019-01-15 10:54:29 -06:00