Fix bug where store was reset at every payload.
Remove additional unused localStorage keys.
This commit is contained in:
parent
1ce509ffa5
commit
475ab3b6de
@ -4,7 +4,7 @@ import { get } from "svelte/store";
|
|||||||
|
|
||||||
export function CheckMigrationStatus() {
|
export function CheckMigrationStatus() {
|
||||||
let currentStore = get(preferences);
|
let currentStore = get(preferences);
|
||||||
if ( currentStore.format == 1 ) {
|
if ( currentStore.format < 2 ) {
|
||||||
const hasOldKeys =
|
const hasOldKeys =
|
||||||
localStorage.getItem('ql') !== null ||
|
localStorage.getItem('ql') !== null ||
|
||||||
localStorage.getItem('location') !== null ||
|
localStorage.getItem('location') !== null ||
|
||||||
@ -54,6 +54,7 @@ export function CheckMigrationStatus() {
|
|||||||
// Migrations
|
// Migrations
|
||||||
|
|
||||||
function migrateToV1() {
|
function migrateToV1() {
|
||||||
|
console.log("Migrating to Preferences-v1");
|
||||||
const oldQlRaw = localStorage.getItem('ql');
|
const oldQlRaw = localStorage.getItem('ql');
|
||||||
const oldLocationRaw = localStorage.getItem('location');
|
const oldLocationRaw = localStorage.getItem('location');
|
||||||
const oldTelemetryRaw = localStorage.getItem('telemetry');
|
const oldTelemetryRaw = localStorage.getItem('telemetry');
|
||||||
@ -72,6 +73,8 @@ function migrateToV1() {
|
|||||||
localStorage.removeItem('location');
|
localStorage.removeItem('location');
|
||||||
localStorage.removeItem('telemetry');
|
localStorage.removeItem('telemetry');
|
||||||
localStorage.removeItem('telemetryRequested');
|
localStorage.removeItem('telemetryRequested');
|
||||||
|
localStorage.removeItem('welcome');
|
||||||
|
localStorage.removeItem('version');
|
||||||
|
|
||||||
console.info('[Migration] Preferences migrated to version 1');
|
console.info('[Migration] Preferences migrated to version 1');
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,8 @@ const DEFAULT_PREFERENCES: Preferences = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function createPreferencesStore() {
|
function createPreferencesStore() {
|
||||||
|
const { subscribe, set, update } = writable<Preferences>(DEFAULT_PREFERENCES);
|
||||||
|
if (typeof window !== 'undefined') {
|
||||||
let stored: Preferences;
|
let stored: Preferences;
|
||||||
try {
|
try {
|
||||||
const json = localStorage.getItem(STORAGE_KEY);
|
const json = localStorage.getItem(STORAGE_KEY);
|
||||||
@ -38,11 +40,12 @@ function createPreferencesStore() {
|
|||||||
stored = DEFAULT_PREFERENCES;
|
stored = DEFAULT_PREFERENCES;
|
||||||
}
|
}
|
||||||
|
|
||||||
const { subscribe, set, update } = writable<Preferences>(stored);
|
set(stored);
|
||||||
|
|
||||||
subscribe((value) => {
|
subscribe((value) => {
|
||||||
localStorage.setItem(STORAGE_KEY, JSON.stringify(value));
|
localStorage.setItem(STORAGE_KEY, JSON.stringify(value));
|
||||||
});
|
});
|
||||||
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
subscribe,
|
subscribe,
|
||||||
@ -53,12 +56,15 @@ function createPreferencesStore() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const preferences = createPreferencesStore();
|
export const preferences = createPreferencesStore();
|
||||||
|
|
||||||
|
if (typeof window !== 'undefined') {
|
||||||
try {
|
try {
|
||||||
CheckMigrationStatus();
|
CheckMigrationStatus();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error("Preferences migration failed, resetting store", e);
|
console.error("Preferences migration failed, resetting store", e);
|
||||||
preferences.reset();
|
preferences.reset();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Utility Functions
|
// Utility Functions
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user