-
-
Notifications
You must be signed in to change notification settings - Fork 10
Closed
Description
Temporary fixed it by changing localStorage to IndexedDB
content_pool.push(...batch_pool);
try {
// Only store essential metadata in localStorage
localStorage.setItem(`windpress.cache.provider.${provider.id}`, JSON.stringify({
timestamp: Date.now(),
count: batch_pool.length
}));
// Store the actual content data in IndexedDB
await storeInIndexedDB(`windpress.cache.${provider.id}`, {
contents: batch_pool,
timestamp: Date.now()
});
} catch (error) {
console.warn("Storage error:", error);
}
return Promise.resolve();
}
async function storeInIndexedDB(key, data) {
return new Promise((resolve, reject) => {
const request = indexedDB.open("windpress-cache", 1);
request.onupgradeneeded = function(event) {
const db = event.target.result;
if (!db.objectStoreNames.contains('cache')) {
db.createObjectStore('cache');
}
};
request.onsuccess = function(event) {
const db = event.target.result;
const transaction = db.transaction(['cache'], 'readwrite');
const store = transaction.objectStore('cache');
store.put(data, key);
transaction.oncomplete = function() {
resolve();
};
};
request.onerror = function(event) {
reject(event.target.error);
};
});
}
Now generating cache CSS works, but sometimes i need to clear IndexedDB or generating cache will fail.
Metadata
Metadata
Assignees
Labels
No labels

