gsxdsm
7dfce1cc16
FN-9160: Prevent draft storage quota exhaustion
Make browser draft restoration best-effort so oversized or quota-blocked writes never interrupt task creation.
- cap free-text draft persistence at 64,000 bytes and warn once when restoration is unavailable
- make scoped storage operations throw-safe with bounded retries and stale volatile-state reclamation
- extend quota, composer, modal persistence, and chat draft coverage and document the storage policy
- add a patch changeset for the operator-facing fix
Files changed:
.changeset/fn-9160-quick-entry-quota.md | 7 ++
docs/storage.md | 31 +++---
.../dashboard/app/components/InlineCreateCard.tsx | 25 ++++-
.../dashboard/app/components/QuickEntryBox.tsx | 25 ++++-
.../components/__tests__/ChatView.draft.test.tsx | 36 +++++-
.../components/__tests__/InlineCreateCard.test.tsx | 20 ++++
.../components/__tests__/QuickEntryBox.test.tsx | 36 +++++-
.../app/hooks/__tests__/modalPersistence.test.ts | 28 +++--
packages/dashboard/app/hooks/modalPersistence.ts | 29 ++---
.../app/utils/__tests__/projectStorage.test.ts | 88 ++++++++++++++-
packages/dashboard/app/utils/projectStorage.ts | 122 +++++++++++++++++++--
11 files changed, 384 insertions(+), 63 deletions(-)
Fusion-Task-Id: FN-9160
Fusion-Task-Lineage: 63481936-91f1-4e7a-b27c-c3c5f49014dd
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-08-19 18:08:55 -07:00
..
2026-08-17 15:47:43 -07:00
2026-08-17 15:47:43 -07:00
2026-08-19 18:08:55 -07:00
2026-08-03 00:20:53 -07:00
2026-08-19 18:08:55 -07:00
2026-07-24 11:15:43 -07:00
2026-08-08 23:54:40 -07:00
2026-08-02 19:23:28 -07:00
2026-07-30 03:10:35 -07:00
2026-07-19 09:47:58 -07:00
2026-08-19 18:08:55 -07:00
2026-08-10 02:56:58 -07:00
2026-08-17 20:54:43 -07:00
2026-08-02 19:23:28 -07:00
2026-07-20 17:35:06 -07:00
2026-07-23 09:33:25 -07:00
2026-07-26 11:17:52 -07:00
2026-08-01 00:32:25 -07:00
2026-07-26 12:12:35 -07:00
2026-08-06 22:07:23 -07:00