From e773402cbf900b3fdabca1086a95dfd10f9052ef Mon Sep 17 00:00:00 2001 From: Eduard Kuzmenko Date: Tue, 15 Jun 2021 04:50:36 +0300 Subject: [PATCH] [LS] changed clear to delete --- src/components/sidebarLeft/index.ts | 2 +- src/lib/localStorage.ts | 36 +++++++++++++++++++++-------- src/lib/sessionStorage.ts | 4 ++-- 3 files changed, 30 insertions(+), 12 deletions(-) diff --git a/src/components/sidebarLeft/index.ts b/src/components/sidebarLeft/index.ts index e1da3808..92711c4f 100644 --- a/src/components/sidebarLeft/index.ts +++ b/src/components/sidebarLeft/index.ts @@ -172,7 +172,7 @@ export class AppSidebarLeft extends SidebarSlider { icon: 'char z', text: 'ChatList.Menu.SwitchTo.Z', onClick: () => { - sessionStorage.set({kz_version: 'z'}).then(() => { + sessionStorage.set({kz_version: 'Z'}).then(() => { location.href = 'https://web.telegram.org/z/'; }); }, diff --git a/src/lib/localStorage.ts b/src/lib/localStorage.ts index 5e0a2f27..a5a192be 100644 --- a/src/lib/localStorage.ts +++ b/src/lib/localStorage.ts @@ -19,7 +19,7 @@ class LocalStorage> { private cache: Partial = {}; private useStorage = true; - constructor(private preserveKeys: (keyof Storage)[]) { + constructor(/* private preserveKeys: (keyof Storage)[] */) { if(Modes.test) { this.prefix = 't_'; } @@ -42,6 +42,8 @@ class LocalStorage> { } catch(err) { //console.error(err); } + } else { + value = undefined; } return value; @@ -76,12 +78,16 @@ class LocalStorage> { delete this.cache[key]; } - if(this.useStorage) { - localStorage.removeItem(this.prefix + key); - } + //if(this.useStorage) { + try { + localStorage.removeItem(this.prefix + key); + } catch(err) { + + } + //} } - public clear(preserveKeys: (keyof Storage)[] = this.preserveKeys) { + /* public clear(preserveKeys: (keyof Storage)[] = this.preserveKeys) { // if(this.useStorage) { try { let obj: Partial = {}; @@ -103,6 +109,18 @@ class LocalStorage> { } // } + } */ + + public clear() { + const keys: string[] = ['dc', 'server_time_offset', 'xt_instance', 'user_auth']; + for(let i = 1; i <= 5; ++i) { + keys.push(`dc${i}_server_salt`); + keys.push(`dc${i}_auth_key`); + } + + for(let key of keys) { + this.delete(key, true); + } } public toggleStorage(enabled: boolean) { @@ -138,11 +156,11 @@ export default class LocalStorageController> private storage: LocalStorage; - constructor(private preserveKeys: (keyof Storage)[] = []) { + constructor(/* private preserveKeys: (keyof Storage)[] = [] */) { LocalStorageController.STORAGES.push(this); if(!isWorker) { - this.storage = new LocalStorage(preserveKeys); + this.storage = new LocalStorage(/* preserveKeys */); } } @@ -196,8 +214,8 @@ export default class LocalStorageController> return this.proxy('delete', key, saveLocal); } - public clear(preserveKeys?: (keyof Storage)[]) { - return this.proxy('clear', preserveKeys); + public clear(/* preserveKeys?: (keyof Storage)[] */) { + return this.proxy('clear'/* , preserveKeys */); } public toggleStorage(enabled: boolean) { diff --git a/src/lib/sessionStorage.ts b/src/lib/sessionStorage.ts index abf1ba0b..b91de8f3 100644 --- a/src/lib/sessionStorage.ts +++ b/src/lib/sessionStorage.ts @@ -24,7 +24,7 @@ const sessionStorage = new LocalStorageController<{ dc5_server_salt: string, server_time_offset: number, xt_instance: AppInstance, - kz_version: 'k' | 'z' -}>(['kz_version']); + kz_version: 'K' | 'Z' +}>(/* ['kz_version'] */); MOUNT_CLASS_TO.appStorage = sessionStorage; export default sessionStorage;