feat: fallback to DB localStorage for idb names (#8682)

Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
This commit is contained in:
Shivam Mishra
2024-01-15 15:08:15 +05:30
committed by GitHub
parent e7e14f01e4
commit ea7898d113
2 changed files with 30 additions and 3 deletions

View File

@@ -44,10 +44,29 @@ export const clearLocalStorageOnLogout = () => {
};
export const deleteIndexedDBOnLogout = async () => {
const dbs = await window.indexedDB.databases();
dbs.forEach(db => {
window.indexedDB.deleteDatabase(db.name);
let dbs = [];
try {
dbs = await window.indexedDB.databases();
dbs = dbs.map(db => db.name);
} catch (e) {
dbs = JSON.parse(localStorage.getItem('cw-idb-names') || '[]');
}
dbs.forEach(dbName => {
const deleteRequest = window.indexedDB.deleteDatabase(dbName);
deleteRequest.onerror = event => {
// eslint-disable-next-line no-console
console.error(`Error deleting database ${dbName}.`, event);
};
deleteRequest.onsuccess = () => {
// eslint-disable-next-line no-console
console.log(`Database ${dbName} deleted successfully.`);
};
});
localStorage.removeItem('cw-idb-names');
};
export const clearCookiesOnLogout = () => {