fixed migration and account removal issues (#1818)

This commit is contained in:
Matt Portune 2022-02-28 13:02:33 -05:00 committed by GitHub
parent 317e7dad9a
commit 9384b3e538
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 9 deletions

View file

@ -147,8 +147,10 @@ namespace Bit.App.Pages
return; return;
} }
var selection = await DisplayActionSheet(AppResources.Options, var buttons = _email.IsEnabled ? new[] { AppResources.GetPasswordHint }
AppResources.Cancel, null, AppResources.GetPasswordHint, AppResources.RemoveAccount); : new[] { AppResources.GetPasswordHint, AppResources.RemoveAccount };
var selection = await DisplayActionSheet(AppResources.Options,
AppResources.Cancel, null, buttons);
if (selection == AppResources.GetPasswordHint) if (selection == AppResources.GetPasswordHint)
{ {

View file

@ -326,19 +326,19 @@ namespace Bit.Core.Services
return lastVersion.Value; return lastVersion.Value;
} }
// check for original v1 migration // check for v1 state
var envUrlsLiteDb = await GetValueAsync<EnvironmentUrlData>(Storage.LiteDb, V1Keys.EnvironmentUrlsKey); var v1EnvUrls = await GetValueAsync<EnvironmentUrlData>(Storage.LiteDb, V1Keys.EnvironmentUrlsKey);
if (envUrlsLiteDb != null) if (v1EnvUrls != null)
{ {
// environmentUrls still in LiteDB (never migrated to prefs), this is v1 // environmentUrls still in LiteDB (never migrated to prefs), this is v1
return 1; return 1;
} }
// check for original v2 migration // check for v2 state
var envUrlsPrefs = await GetValueAsync<EnvironmentUrlData>(Storage.Prefs, V2Keys.EnvironmentUrlsKey); var v2UserId = await GetValueAsync<string>(Storage.LiteDb, V2Keys.Keys_UserId);
if (envUrlsPrefs != null) if (v2UserId != null)
{ {
// environmentUrls in Prefs (migrated from LiteDB), this is v2 // standalone userId still exists (never moved to Account object), this is v2
return 2; return 2;
} }

View file

@ -1377,6 +1377,7 @@ namespace Bit.Core.Services
{ {
await CheckStateAsync(); await CheckStateAsync();
var currentTheme = await GetThemeAsync(); var currentTheme = await GetThemeAsync();
var currentDisableFavicons = await GetDisableFaviconAsync();
account.Settings.EnvironmentUrls = await GetPreAuthEnvironmentUrlsAsync(); account.Settings.EnvironmentUrls = await GetPreAuthEnvironmentUrlsAsync();
@ -1405,6 +1406,7 @@ namespace Bit.Core.Services
account.Settings.VaultTimeoutAction = VaultTimeoutAction.Lock; account.Settings.VaultTimeoutAction = VaultTimeoutAction.Lock;
} }
await SetThemeAsync(currentTheme, account.Profile.UserId); await SetThemeAsync(currentTheme, account.Profile.UserId);
await SetDisableFaviconAsync(currentDisableFavicons, account.Profile.UserId);
state.Accounts[account.Profile.UserId] = account; state.Accounts[account.Profile.UserId] = account;
await SaveStateToStorageAsync(state); await SaveStateToStorageAsync(state);