openpencil/tests/engine/app
Danila Poyarkov 6e68366bc6
fix(recovery): store snapshots of any size (#966)
* fix(recovery): snapshot a document only once it has unsaved edits

Opening a document lays it out, which bumps the scene version, so crash
recovery wrote a full .fig snapshot of every document opened from a file
without a writable source, edited or not. For the 401 MiB file from #924
that copied the whole archive a few seconds after opening and killed the
tab. Recovery now asks the document's change tracking, which ignores
layout, whether anything is unsaved.

* fix(recovery): store snapshots as Blobs so large documents fit

Chromium refuses a single IndexedDB value over 127 MiB, so a snapshot of
any larger document failed and recovery fell back to memory for the
rest of the session, holding another copy of the document. A Blob is
kept as a file at any size: a 421 MB snapshot now writes in IndexedDB.
Writes also no longer copy the archive first, and snapshots stored as
byte arrays by earlier versions still read back.

* test(recovery): drop the scene version from the large-buffer snapshot
2026-10-07 21:30:07 +00:00
..
ai test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
automation feat(mcp): let MCP clients read only the selection, with a compact get_selection (#732) 2026-10-07 13:01:28 +00:00
chat test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
clipboard test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
code feat(code): add live JSX and HTML/CSS editing (#525) 2026-08-15 09:48:42 +03:00
demo feat: assemble an editable demo document 2026-09-14 00:36:53 +03:00
diagnostics feat(settings): configure tool access, MCP failures, and step limits 2026-09-17 23:55:58 +03:00
document fix(recovery): store snapshots of any size (#966) 2026-10-07 21:30:07 +00:00
editor refactor(vue)!: remove the variables table composables (#908) 2026-10-06 12:35:41 +00:00
integrations feat(collab): show MCP agents, follow streamed JSX, and follow your agents as they work (#725) 2026-10-07 10:04:58 +00:00
recent-files refactor(app): polish files workspace and New tabs 2026-08-20 17:20:33 +03:00
runtime perf(canvas): rebuild navigation rendering (#591) 2026-08-31 13:39:40 +03:00
settings feat(ai): add guided AI setup for providers, coding agents, and Pi (#916) 2026-10-07 08:46:57 +00:00
shell test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
storage fix(storage): harden workspace previews 2026-08-10 20:02:58 +03:00
tabs test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
tauri fix(tauri): preserve request and abort semantics 2026-07-18 05:02:51 +03:00
usage feat(diagnostics): add local usage and diagnostics foundation 2026-08-24 16:56:40 +03:00
cache.test.ts fix: validate parsed JSON at untrusted boundaries with Valibot (#855) 2026-10-04 17:01:50 +00:00
external-link.test.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
font-loading.test.ts fix(tauri): prevent Windows font loading crashes (#497) 2026-08-12 20:09:04 +03:00
vector-edit-transforms.test.ts test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00