mirror of
https://github.com/redphx/better-xcloud.git
synced 2025-06-06 07:37:19 +02:00
Migrate Stream settings in Global storage to Stream storage
This commit is contained in:
parent
91f9d76c57
commit
6e31caa4fc
17
dist/better-xcloud.pretty.user.js
vendored
17
dist/better-xcloud.pretty.user.js
vendored
@ -1174,13 +1174,8 @@ class BaseSettingsStorage {
|
|||||||
get settings() {
|
get settings() {
|
||||||
if (this._settings) return this._settings;
|
if (this._settings) return this._settings;
|
||||||
let settings = JSON.parse(this.storage.getItem(this.storageKey) || "{}");
|
let settings = JSON.parse(this.storage.getItem(this.storageKey) || "{}");
|
||||||
for (let key in settings) {
|
for (let key in settings)
|
||||||
if (!this.definitions.hasOwnProperty(key)) {
|
|
||||||
delete settings[key];
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
settings[key] = this.validateValue("get", key, settings[key]);
|
settings[key] = this.validateValue("get", key, settings[key]);
|
||||||
}
|
|
||||||
return this._settings = settings, settings;
|
return this._settings = settings, settings;
|
||||||
}
|
}
|
||||||
getDefinition(key) {
|
getDefinition(key) {
|
||||||
@ -2408,6 +2403,16 @@ class StreamSettingsStorage extends BaseSettingsStorage {
|
|||||||
return controllerSetting;
|
return controllerSetting;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function migrateStreamSettings() {
|
||||||
|
let storage = window.localStorage, globalSettings = JSON.parse(storage.getItem("BetterXcloud") || "{}"), streamSettings = JSON.parse(storage.getItem("BetterXcloud.Stream") || "{}"), modified2 = !1;
|
||||||
|
for (let key in globalSettings)
|
||||||
|
if (isStreamPref(key)) {
|
||||||
|
if (!streamSettings.hasOwnProperty(key)) streamSettings[key] = globalSettings[key];
|
||||||
|
delete globalSettings[key], modified2 = !0;
|
||||||
|
}
|
||||||
|
if (modified2) storage.setItem("BetterXcloud", JSON.stringify(globalSettings)), storage.setItem("BetterXcloud.Stream", JSON.stringify(streamSettings));
|
||||||
|
}
|
||||||
|
migrateStreamSettings();
|
||||||
var STORAGE = {
|
var STORAGE = {
|
||||||
Global: new GlobalSettingsStorage,
|
Global: new GlobalSettingsStorage,
|
||||||
Stream: new StreamSettingsStorage
|
Stream: new StreamSettingsStorage
|
||||||
|
4
dist/better-xcloud.user.js
vendored
4
dist/better-xcloud.user.js
vendored
File diff suppressed because one or more lines are too long
@ -1,8 +1,32 @@
|
|||||||
import { ALL_PREFS, GlobalPref, StreamPref, type AnyPref } from "@/enums/pref-keys";
|
import { ALL_PREFS, GlobalPref, StorageKey, StreamPref, type AnyPref } from "@/enums/pref-keys";
|
||||||
import type { PrefInfo, SettingActionOrigin } from "@/types/setting-definition";
|
import type { PrefInfo, SettingActionOrigin } from "@/types/setting-definition";
|
||||||
import { GlobalSettingsStorage } from "./settings-storages/global-settings-storage";
|
import { GlobalSettingsStorage } from "./settings-storages/global-settings-storage";
|
||||||
import { StreamSettingsStorage } from "./settings-storages/stream-settings-storage";
|
import { StreamSettingsStorage } from "./settings-storages/stream-settings-storage";
|
||||||
|
|
||||||
|
// Migrate Stream settings in Global storage to Stream storage
|
||||||
|
function migrateStreamSettings() {
|
||||||
|
const storage = window.localStorage;
|
||||||
|
const globalSettings = JSON.parse(storage.getItem(StorageKey.GLOBAL) || '{}');
|
||||||
|
const streamSettings = JSON.parse(storage.getItem(StorageKey.STREAM) || '{}');
|
||||||
|
let modified = false;
|
||||||
|
for (const key in globalSettings) {
|
||||||
|
if (isStreamPref(key as AnyPref)) {
|
||||||
|
// Migration
|
||||||
|
if (!streamSettings.hasOwnProperty(key)) {
|
||||||
|
streamSettings[key] = globalSettings[key];
|
||||||
|
}
|
||||||
|
delete globalSettings[key];
|
||||||
|
modified = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (modified) {
|
||||||
|
storage.setItem(StorageKey.GLOBAL, JSON.stringify(globalSettings));
|
||||||
|
storage.setItem(StorageKey.STREAM, JSON.stringify(streamSettings));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
migrateStreamSettings();
|
||||||
export const STORAGE = {
|
export const STORAGE = {
|
||||||
Global: new GlobalSettingsStorage(),
|
Global: new GlobalSettingsStorage(),
|
||||||
Stream: new StreamSettingsStorage(),
|
Stream: new StreamSettingsStorage(),
|
||||||
|
@ -44,12 +44,6 @@ export class BaseSettingsStorage<T extends AnyPref> {
|
|||||||
|
|
||||||
// Validate setting values
|
// Validate setting values
|
||||||
for (const key in settings) {
|
for (const key in settings) {
|
||||||
// Don't store invalid keys
|
|
||||||
if (!this.definitions.hasOwnProperty(key)) {
|
|
||||||
delete settings[key];
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
settings[key] = this.validateValue('get', key as T, settings[key]);
|
settings[key] = this.validateValue('get', key as T, settings[key]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user