demo · v130

Blob Size Ladder

Chrome 130 changes how IndexedDB reports large-value read errors. This demo writes Blobs of progressively increasing size to a real IndexedDB store, then reads them back and captures any DOMException — reporting both name and message. Use it to find your browser's actual failure threshold and see the improved Chrome 130 error names in the wild.

Checking IndexedDB availability…
Size
Write
Read
Error (if any)
Click "Run ladder test" to begin.
// Chrome 130: improved IndexedDB error reporting
// DOMException.name is now meaningful for large-value failures

request.onerror = (e) => {
  const err = e.target.error;

  switch (err.name) {
    case 'DataError':
      // Data couldn't be serialised / deserialised
      // → clear the offending key, inform user
      break;
    case 'UnknownError':
      // OS-level I/O failure (blob file deleted, disk full)
      // → retry once; if persistent, prompt re-upload
      break;
    case 'QuotaExceededError':
      // Storage quota hit
      // → call navigator.storage.estimate(), offer cleanup UI
      break;
    default:
      // Unexpected error — log to server
      reportToServer(err.name, err.message);
  }
};

see also