* fix(app): cancel large FIG opens before tab cleanup - Abort tab-local preparation before awaiting recovery persistence so closing a decoding tab terminates its FIG worker immediately - Add explicit graph-event unsubscription and lazy FIG resource release for disposed editor stores - Keep staging-editor disposal separate from live graph resource ownership - Let same-origin document fetches bypass all cross-origin font response limits * refactor(fig): isolate worker sessions per document - Give each lazy FIG document a dedicated MessageChannel and retained worker session - Route manifest and page population traffic through the session port instead of global worker handlers - Close the port and worker explicitly on cancellation or tab disposal - Preserve current lazy source transfer and export fidelity until raw NodeChange patch export is implemented * perf(fig): preserve unchanged archives in worker sessions - Keep a second transferable copy of the original FIG archive inside the document worker session instead of main-thread memory - Track whether user graph mutations invalidate exact archive reuse - Return unchanged documents byte-for-byte through the session without full-page materialization or recompression - Release archive request ownership with the page population worker and editor graph resources * fix(fig): choose the first visible imported page - Ignore internal-only canvases when selecting the initial active page\n- Keep internal component pages available for lazy instance population * fix(fig): retain original archives across fallbacks - Keep session-owned workers alive when population is oversized\n- Register the input archive when worker graph transfer falls back to the main thread\n- Preserve byte-identical unchanged saves without restoring lossy materialization * fix(fig): harden worker session ownership - Route concurrent archive replies through persistent request resolvers and reject stale in-flight archives after edits\n- Retain disposal-only handles for oversized sessions and guard Worker construction\n- Reuse the shared FIG import options contract and cover session disposal and invalidation * test(fig): isolate Worker availability mutation |
||
|---|---|---|
| .. | ||
| export | ||
| heavy | ||
| import | ||
| roundtrip | ||
| instance-swap-roundtrip.test.ts | ||
| page-manifest.test.ts | ||
| thumbnail-page.test.ts | ||
| thumbnail-range.test.ts | ||