diff --git a/src/UserSettingsStore.js b/src/UserSettingsStore.js index 3e0c7127c1..8ec0d9ba4a 100644 --- a/src/UserSettingsStore.js +++ b/src/UserSettingsStore.js @@ -142,7 +142,10 @@ module.exports = { return MatrixClientPeg.get().setAccountData("im.vector.web.settings", settings); }, - isFeatureEnabled: function(feature: string): boolean { + isFeatureEnabled: function(feature: string): ?boolean { + if (localStorage.getItem(`mx_labs_feature_${feature}`) === null) { + return null; + } return localStorage.getItem(`mx_labs_feature_${feature}`) === 'true'; }, diff --git a/src/components/structures/UserSettings.js b/src/components/structures/UserSettings.js index 57ee51f3a5..375fc3d1a9 100644 --- a/src/components/structures/UserSettings.js +++ b/src/components/structures/UserSettings.js @@ -29,15 +29,18 @@ var AddThreepid = require('../../AddThreepid'); const LABS_FEATURES = [ { name: 'Rich Text Editor', - id: 'rich_text_editor' + id: 'rich_text_editor', + default: false, }, { name: 'End-to-End Encryption', - id: 'e2e_encryption' + id: 'e2e_encryption', + default: true, }, { name: 'Integration Management', - id: 'integration_management' + id: 'integration_management', + default: true, }, ]; @@ -382,7 +385,7 @@ module.exports = React.createClass({ type="checkbox" id={feature.id} name={feature.id} - defaultChecked={UserSettingsStore.isFeatureEnabled(feature.id)} + defaultChecked={UserSettingsStore.isFeatureEnabled(feature.id) === null ? feature.default : UserSettingsStore.isFeatureEnabled(feature.id)} onChange={e => { UserSettingsStore.setFeatureEnabled(feature.id, e.target.checked); this.forceUpdate();