From c52ba96b85998f34bfb034f801556f4c89b8b6ba Mon Sep 17 00:00:00 2001 From: Whymarrh Whitby Date: Wed, 30 Jan 2019 11:00:42 -0330 Subject: Remove betaUI preference state, replace with completedUiMigration --- app/scripts/controllers/preferences.js | 14 ++++++++++---- app/scripts/migrations/032.js | 29 +++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 app/scripts/migrations/032.js (limited to 'app') diff --git a/app/scripts/controllers/preferences.js b/app/scripts/controllers/preferences.js index d2ef987f2..c0716cc42 100644 --- a/app/scripts/controllers/preferences.js +++ b/app/scripts/controllers/preferences.js @@ -33,10 +33,7 @@ class PreferencesController { tokens: [], suggestedTokens: {}, useBlockie: false, - featureFlags: { - betaUI: true, - skipAnnounceBetaUI: true, - }, + featureFlags: {}, knownMethodData: {}, currentLocale: opts.initLangCode, identities: {}, @@ -47,6 +44,7 @@ class PreferencesController { useNativeCurrencyAsPrimaryCurrency: true, }, completedOnboarding: false, + completedUiMigration: false, }, opts.initState) this.diagnostics = opts.diagnostics @@ -552,6 +550,14 @@ class PreferencesController { return Promise.resolve(true) } + /** + * Sets the {@code completedUiMigration} state to {@code true}, indicating that the user has completed the UI switch. + */ + completeUiMigration () { + this.store.updateState({ completedUiMigration: true }) + return Promise.resolve(true) + } + // // PRIVATE METHODS // diff --git a/app/scripts/migrations/032.js b/app/scripts/migrations/032.js new file mode 100644 index 000000000..e89fe383f --- /dev/null +++ b/app/scripts/migrations/032.js @@ -0,0 +1,29 @@ +const version = 32 +const clone = require('clone') + +/** + * The purpose of this migration is to set the {@code completedUiMigration} flag based on the user's UI preferences + */ +module.exports = { + version, + migrate: async function (originalVersionedData) { + const versionedData = clone(originalVersionedData) + versionedData.meta.version = version + const state = versionedData.data + versionedData.data = transformState(state) + return versionedData + }, +} + +function transformState (state) { + const { PreferencesController } = state + + if (PreferencesController) { + const { betaUI } = PreferencesController.featureFlags || {} + // Users who have been using the "beta" UI are considered to have completed the migration + // as they'll see no difference in this version + PreferencesController.completedUiMigration = betaUI + } + + return state +} -- cgit v1.2.3