Clear settings caches on reset rather than custom lifecycle method (#12859)

* Clear settings caches on reset

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Derp

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Delint

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski 2024-08-05 11:36:24 +01:00 committed by GitHub
parent 090586439f
commit 54e5321f39
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 5 additions and 4 deletions

View file

@ -58,7 +58,6 @@ import { setSentryUser } from "./sentry";
import SdkConfig from "./SdkConfig";
import { DialogOpener } from "./utils/DialogOpener";
import { Action } from "./dispatcher/actions";
import AbstractLocalStorageSettingsHandler from "./settings/handlers/AbstractLocalStorageSettingsHandler";
import { OverwriteLoginPayload } from "./dispatcher/payloads/OverwriteLoginPayload";
import { SdkContextClass } from "./contexts/SDKContext";
import { messageForLoginError } from "./utils/ErrorUtils";
@ -1087,7 +1086,6 @@ async function clearStorage(opts?: { deleteEverything?: boolean }): Promise<void
const registrationTime = window.localStorage.getItem("mx_registration_time");
window.localStorage.clear();
AbstractLocalStorageSettingsHandler.clear();
try {
await StorageAccess.idbDelete("account", ACCESS_TOKEN_STORAGE_KEY);

View file

@ -35,8 +35,7 @@ export default abstract class AbstractLocalStorageSettingsHandler extends Settin
}
};
// Expose the clear event for Lifecycle to call, the storage listener only fires for changes from other tabs
public static clear(): void {
private static clear(): void {
AbstractLocalStorageSettingsHandler.itemCache.clear();
AbstractLocalStorageSettingsHandler.objectCache.clear();
}
@ -108,4 +107,8 @@ export default abstract class AbstractLocalStorageSettingsHandler extends Settin
public isSupported(): boolean {
return localStorage !== undefined && localStorage !== null;
}
public reset(): void {
AbstractLocalStorageSettingsHandler.clear();
}
}