diff options
| author | Adam <[email protected]> | 2026-01-20 05:21:27 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2026-01-20 05:21:33 -0600 |
| commit | b711ca57f25f393e2613e46ab5bfe2a95c42ee0d (patch) | |
| tree | af31216d0b60a9c29b9c40551a3840df08a45fd2 | |
| parent | 353115a895655f3d9f3075cd0516000722e9c6b5 (diff) | |
| download | opencode-b711ca57f25f393e2613e46ab5bfe2a95c42ee0d.tar.gz opencode-b711ca57f25f393e2613e46ab5bfe2a95c42ee0d.zip | |
fix(app): localStorage quota
| -rw-r--r-- | packages/app/src/utils/persist.ts | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/packages/app/src/utils/persist.ts b/packages/app/src/utils/persist.ts index 06e80142a..4ada0751d 100644 --- a/packages/app/src/utils/persist.ts +++ b/packages/app/src/utils/persist.ts @@ -21,6 +21,7 @@ function quota(error: unknown) { if (error instanceof DOMException) { if (error.name === "QuotaExceededError") return true if (error.name === "NS_ERROR_DOM_QUOTA_REACHED") return true + if (error.name === "QUOTA_EXCEEDED_ERR") return true if (error.code === 22 || error.code === 1014) return true return false } @@ -28,6 +29,14 @@ function quota(error: unknown) { if (!error || typeof error !== "object") return false const name = (error as { name?: string }).name if (name === "QuotaExceededError" || name === "NS_ERROR_DOM_QUOTA_REACHED") return true + if (name && /quota/i.test(name)) return true + + const code = (error as { code?: number }).code + if (code === 22 || code === 1014) return true + + const message = (error as { message?: string }).message + if (typeof message !== "string") return false + if (/quota/i.test(message)) return true return false } |
