diff --git a/apps/desktop/layer/renderer/src/store/utils/clear.ts b/apps/desktop/layer/renderer/src/store/utils/clear.ts index bfd12cd0a..a2bc2a25d 100644 --- a/apps/desktop/layer/renderer/src/store/utils/clear.ts +++ b/apps/desktop/layer/renderer/src/store/utils/clear.ts @@ -1,4 +1,4 @@ -import { resetStore } from "@follow/store/reset" +import { deleteDB } from "@follow/database/db" import { getStorageNS } from "@follow/utils/ns" import { clearUISettings } from "~/atoms/settings/ui" @@ -6,7 +6,7 @@ import { clearUISettings } from "~/atoms/settings/ui" import { clearImageDimensionsDb } from "../image/db" export const clearLocalPersistStoreData = async () => { - await Promise.all([resetStore(), clearImageDimensionsDb()]) + await Promise.all([deleteDB(), clearImageDimensionsDb()]) clearUISettings() } diff --git a/packages/internal/database/src/db.desktop.ts b/packages/internal/database/src/db.desktop.ts index c9f0d280a..629c1c36f 100644 --- a/packages/internal/database/src/db.desktop.ts +++ b/packages/internal/database/src/db.desktop.ts @@ -74,7 +74,7 @@ export async function migrateDB() { } catch (error) { console.error("Failed to migrate database:", error) - indexedDB.deleteDatabase(IDB_NAME) + await deleteDB() await migrate(db, migrations) } } @@ -104,3 +104,7 @@ export async function exportDB() { URL.revokeObjectURL(fileUrl) } + +export async function deleteDB() { + indexedDB.deleteDatabase(IDB_NAME) +} diff --git a/packages/internal/database/src/db.rn.ts b/packages/internal/database/src/db.rn.ts index e281cacca..021384335 100644 --- a/packages/internal/database/src/db.rn.ts +++ b/packages/internal/database/src/db.rn.ts @@ -26,12 +26,7 @@ export async function migrateDB(): Promise { await migrate(db, migrations) } catch (error) { console.error("Failed to migrate database:", error) - try { - await sqlite.closeAsync() - } catch { - /* empty */ - } - await SQLite.deleteDatabaseAsync(SQLITE_DB_NAME) + await deleteDB() sqlite = SQLite.openDatabaseSync(SQLITE_DB_NAME) initializeDB() await migrate(db, migrations) @@ -39,3 +34,11 @@ export async function migrateDB(): Promise { } export async function exportDB() {} +export async function deleteDB() { + try { + await sqlite.closeAsync() + } catch { + /* empty */ + } + await SQLite.deleteDatabaseAsync(SQLITE_DB_NAME) +} diff --git a/packages/internal/database/src/db.ts b/packages/internal/database/src/db.ts index a08838054..d86b87f88 100644 --- a/packages/internal/database/src/db.ts +++ b/packages/internal/database/src/db.ts @@ -5,3 +5,7 @@ export declare const db: DB export declare function initializeDB(): Promise export declare function migrateDB(): Promise export declare function exportDB(): Promise +/** + * Deletes the database file, normally you should reload the app after calling this function. + */ +export declare function deleteDB(): Promise