Skip to content

Generating cache fail *localStorage exceeded quota* #34

@LNSR

Description

@LNSR

Image

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.

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions