diff --git a/packages/app/src/storage.ts b/packages/app/src/storage.ts index d38a9d8..f1812f9 100644 --- a/packages/app/src/storage.ts +++ b/packages/app/src/storage.ts @@ -18,14 +18,14 @@ export type StorageAdapter = { options: StorageAdapterOptions } -export let db: IDBPDatabase +export let db: IDBPDatabase | undefined export const dead = withGetter(writable(false)) export const subs: Unsubscriber[] = [] export const getAll = async (name: string) => { - const tx = db.transaction(name, "readwrite") + const tx = db!.transaction(name, "readwrite") const store = tx.objectStore(name) const result = await store.getAll() @@ -35,7 +35,7 @@ export const getAll = async (name: string) => { } export const bulkPut = async (name: string, data: any[]) => { - const tx = db.transaction(name, "readwrite") + const tx = db!.transaction(name, "readwrite") const store = tx.objectStore(name) await Promise.all( @@ -52,7 +52,7 @@ export const bulkPut = async (name: string, data: any[]) => { } export const bulkDelete = async (name: string, ids: string[]) => { - const tx = db.transaction(name, "readwrite") + const tx = db!.transaction(name, "readwrite") const store = tx.objectStore(name) await Promise.all(ids.map(id => store.delete(id))) @@ -139,9 +139,11 @@ export const closeStorage = async () => { } export const clearStorage = async () => { - await closeStorage() - await deleteDB(db.name) - db = undefined // force initStorage to run again + if (db) { + await closeStorage() + await deleteDB(db.name) + db = undefined // force initStorage to run again in tests + } } const migrate = (data: any[], options: StorageAdapterOptions) => diff --git a/packages/app/src/thunk.ts b/packages/app/src/thunk.ts index 64c6679..5244ec9 100644 --- a/packages/app/src/thunk.ts +++ b/packages/app/src/thunk.ts @@ -186,10 +186,10 @@ thunkWorker.addGlobalHandler((thunk: Thunk) => { // Avoid making this function async so multiple publishes can run concurrently Promise.resolve().then(async () => { const fail = (message: string) => { - const status = new Map() + const status: ThunkStatusByUrl = {} for (const url of thunk.request.relays) { - status.set(url, {status: PublishStatus.Failed, message}) + status[url] = {status: PublishStatus.Failure, message} } thunk.status.set(status) @@ -207,7 +207,7 @@ thunkWorker.addGlobalHandler((thunk: Thunk) => { try { event = await signer.sign(event) } catch (e) { - return fail(e.toString()) + return fail(String(e)) } }