diff --git a/src/modules/android/android-shared/android-upgrade/android-v1.6.0-upgrade-provider.service.ts b/src/modules/android/android-shared/android-upgrade/android-v1.6.0-upgrade-provider.service.ts index aa786f56..3f206cb6 100644 --- a/src/modules/android/android-shared/android-upgrade/android-v1.6.0-upgrade-provider.service.ts +++ b/src/modules/android/android-shared/android-upgrade/android-v1.6.0-upgrade-provider.service.ts @@ -47,9 +47,8 @@ export class AndroidV160UpgradeProviderService extends V160UpgradeProviderServic } upgradeApp(upgradingFromVersion?: string): ng.IPromise { - // Get current native storage items + // Migrate items in native storage to new store return this.getAllFromNativeStorage().then((cachedData) => { - // Initialise store return this.storeSvc .init() .then(() => { @@ -60,11 +59,10 @@ export class AndroidV160UpgradeProviderService extends V160UpgradeProviderServic const syncInfo: Partial = { serviceType: ApiServiceType.xBrowserSync }; - - // Add settings from previous version to store return this.$q .all( Object.keys(cachedData).map((key) => { + // Ignore items that should not be migrated if (key === 'appVersion' || key === 'password' || key === 'traceLog') { return; } diff --git a/src/modules/webext/shared/webext-upgrade/webext-v1.6.0-upgrade-provider.service.ts b/src/modules/webext/shared/webext-upgrade/webext-v1.6.0-upgrade-provider.service.ts index cef4b631..ebeeb220 100644 --- a/src/modules/webext/shared/webext-upgrade/webext-v1.6.0-upgrade-provider.service.ts +++ b/src/modules/webext/shared/webext-upgrade/webext-v1.6.0-upgrade-provider.service.ts @@ -36,57 +36,54 @@ export class WebExtV160UpgradeProviderService extends V160UpgradeProviderService } upgradeApp(upgradingFromVersion?: string): ng.IPromise { - // Initialise IndexedDB data storage - return ( - this.storeSvc - .init() - // Convert local storage items to IndexedDB - .then(() => browser.storage.local.get()) - .then((cachedData) => { - if (!cachedData || Object.keys(cachedData).length === 0) { - return; - } + // Migrate items in local storage to new IndexedDB store + return this.storeSvc + .init() + .then(() => browser.storage.local.get()) + .then((cachedData) => { + if (!cachedData || Object.keys(cachedData).length === 0) { + return; + } - const syncInfo: Partial = { - serviceType: ApiServiceType.xBrowserSync - }; - - return this.$q - .all( - Object.keys(cachedData).map((key) => { - if (key === 'password') { - return; - } - - // Upgrade sync settings - switch (key) { - case 'serviceUrl': - syncInfo.serviceUrl = cachedData[key]; - return; - case 'syncId': - syncInfo.id = cachedData[key]; - return; - case 'syncVersion': - syncInfo.version = cachedData[key]; - return; - default: - } - - return this.storeSvc.set(key, cachedData[key]); - }) - ) - .then(() => { - if (!syncInfo.id) { + const syncInfo: Partial = { + serviceType: ApiServiceType.xBrowserSync + }; + return this.$q + .all( + Object.keys(cachedData).map((key) => { + // Ignore items that should not be migrated + if (key === 'password' || key === 'traceLog') { return; } - if (!syncInfo.serviceUrl) { - syncInfo.serviceUrl = Globals.URL.DefaultServiceUrl; + + // Upgrade sync settings + switch (key) { + case 'serviceUrl': + syncInfo.serviceUrl = cachedData[key]; + return; + case 'syncId': + syncInfo.id = cachedData[key]; + return; + case 'syncVersion': + syncInfo.version = cachedData[key]; + return; + default: } - return this.storeSvc.set(StoreKey.SyncInfo, syncInfo); - }); - }) - .then(() => browser.storage.local.clear()) - .then(() => super.upgradeApp()) - ); + + return this.storeSvc.set(key, cachedData[key]); + }) + ) + .then(() => { + if (!syncInfo.id) { + return; + } + if (!syncInfo.serviceUrl) { + syncInfo.serviceUrl = Globals.URL.DefaultServiceUrl; + } + return this.storeSvc.set(StoreKey.SyncInfo, syncInfo); + }); + }) + .then(() => browser.storage.local.clear()) + .then(() => super.upgradeApp()); } } diff --git a/src/styles/partials/_layout.scss b/src/styles/partials/_layout.scss index e3561df4..613c0cf5 100644 --- a/src/styles/partials/_layout.scss +++ b/src/styles/partials/_layout.scss @@ -27,6 +27,7 @@ .header-panel { align-items: center; display: flex; + flex: 0 0 auto; font-size: 1.3rem; justify-content: space-between; margin-bottom: 0.75rem; @@ -129,6 +130,7 @@ border-width: 0; color: var(--color-well-text); margin-bottom: 0.75rem; + overflow: hidden; padding: 1rem 1.25rem; a {