v130 ยท offline / storage

Improved error reporting in IndexedDB for large value read failures

Change to reporting for certain error cases that were previously reported through a DOMException with the message "Failed to read large IndexedDB value".

concepts

  1. IDB error inspector

    Write and read large Blobs to a real IndexedDB store; inspect the name and message on the resulting DOMException. The probe surfaces whatever the engine reports for each failure path.

  2. Recovery strategy

    The whole point of the better error names: write a proper recovery branch. Pick a failure scenario (OS deleted the blob, quota exceeded, transient timeout, schema mismatch) and contrast the heuristic-only pre-Chrome 130 code with the deterministic Chrome 130+ switch on err.name.

  3. Error classifier & recovery planner

    Six representative failure modes (quota exhaustion, checksum mismatch, missing backing blob, EACCES, read-only mount, hardware EIO). For each, the page synthesises the Chrome 130 DOMException.message, classifies the failure as recoverable / transient / fatal, and emits a step-by-step recovery plan you can paste into your code.

  4. Blob size ladder

    Write Blobs of progressively increasing size (4 KB โ†’ 100 MB) to a real IndexedDB store and read them back. Captures DOMException.name and message at the exact byte threshold where your browser fails, and emits a recovery recommendation keyed on the Chrome 130 error name.

why it shipped

Websites can and do use IndexedDB to store large data, and the blob files containing this data show up as opaque files to users in "choose large files from your disk to delete" tools. This makes the blob files susceptible to deletion when users are short on disk space.

references