fix(app): repair theme CSS sync persistence and data loss (#2067)

This commit is contained in:
Hampus authored and GitHub committed 2026-08-29 03:37:41 +02:00
1 parent 14de5971d5
commit 9ad026b8ce
4 files changed
+35 -5

No files matched your search

@@ -94,7 +94,7 @@ function getDatabase(): Promise<IDBDatabase> {
if (openPromise) {
return openPromise;
}
openPromise = new Promise((resolve, reject) => {
const promise = new Promise<IDBDatabase>((resolve, reject) => {
if (!browserIndexedDB) {
reject(new Error('IndexedDB unavailable'));
return;
@@ -126,7 +126,13 @@ function getDatabase(): Promise<IDBDatabase> {
request.onerror = () => reject(request.error ?? new Error('Failed to open theme library database'));
request.onblocked = () => reject(new Error('Theme library database upgrade is blocked by another window'));
});
return openPromise;
promise.catch(() => {
if (openPromise === promise) {
openPromise = null;
}
});
openPromise = promise;
return promise;
}
async function withReadonlyDb<T>(