vectorcraft/crates
bflatastic 975067b44a M4.37: Data Recovery keeps copies of modified documents and offers them after a crash
- Every Preferences > File Handling > Data Recovery interval, modified documents
  changed since their last copy are written to the recovery store in the
  background (the same snapshot and encoder as Background Save; the status bar
  shows it). Complex documents (over 20,000 objects) are skipped while Turn off
  Data Recovery for complex documents is on.
- A copy goes when its document is saved, reverted, closed or undone back to its
  saved state, and when the app quits with nothing unsaved.
- Each running app keeps its copies in an area of its own: a sub-folder whose
  .lock file it keeps locked for its lifetime (File::try_lock), or on the web a
  heartbeat refreshed every minute. Only areas nobody holds (lock free, or no
  heartbeat for three intervals, at least three minutes) are offered, and an
  area is held while it is restored or discarded, so a second running instance
  never offers or deletes a live instance's copies. Empty leftover areas are
  tidied away.
- The next launch after a crash asks with the Recover Documents dialog (Restore /
  Discard / Cancel): restored documents open as "<name> [Recovered]", unsaved, and
  Save asks where to save them, suggesting their original file; the copy moves
  into the new app's area.
- Store: the recoveryFolder preference, else Data Recovery beside the desktop
  app's preferences; browser storage on the web (Services::recovery_store);
  tests use an in-memory store (with in-memory locks, or heartbeats).
- Engine: file.recovery.save, file.recovery.list, file.recovery.restore {file?},
  file.recovery.discard {file?}; DocState.recovered and DocState.recovery.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 15:24:16 +07:00
..
brush M4.39: SVG symbols as <symbol>/<use>, hidden layers on Save, Dublin Core metadata 2026-10-05 09:03:52 +07:00
cad M4.63: Links panel with status, Relink, Go To, Update, Edit Original, Embed/Unembed, Link Info and Placement Options 2026-10-05 12:40:05 +07:00
color M4.98: freeform gradients export to SVG as images clipped to their shapes 2026-10-05 13:25:16 +07:00
doc M4.75: File → Print writes the job as a print-ready PDF: paper, scale, tiles, marks and bleed, separations 2026-10-05 15:13:10 +07:00
effects M4.58: raster effects in PDF on every kind of object 2026-10-05 11:52:34 +07:00
engine M4.37: Data Recovery keeps copies of modified documents and offers them after a crash 2026-10-05 15:24:16 +07:00
eps M4.76: EPS export (PostScript Level 2 and 3) with EPS Options, TIFF previews and the document embedded 2026-10-05 13:50:50 +07:00
format M4.63: Links panel with status, Relink, Go To, Update, Edit Original, Embed/Unembed, Link Info and Placement Options 2026-10-05 12:40:05 +07:00
geom Robustness: VectorCraft never crashes — no panics in shipped code 2026-10-05 06:28:59 +07:00
mcp M4.76: EPS export (PostScript Level 2 and 3) with EPS Options, TIFF previews and the document embedded 2026-10-05 13:50:50 +07:00
pathops Robustness: VectorCraft never crashes — no panics in shipped code 2026-10-05 06:28:59 +07:00
pdf M4.85: PDF security: encryption at every compatibility level, permissions, either password opens 2026-10-05 15:24:16 +07:00
render M4.75: File → Print writes the job as a print-ready PDF: paper, scale, tiles, marks and bleed, separations 2026-10-05 15:13:10 +07:00
svg M4.98: freeform gradients export to SVG as images clipped to their shapes 2026-10-05 13:25:16 +07:00
testkit M4.62: PDF/.ai layers from optional content: named layers with visibility, print state and lock; art that is off as hidden layers 2026-10-05 13:05:12 +07:00
text M4.97: SVG Options choose the encoding, SVG Tiny 1.2 and embedded font subsets 2026-10-05 13:25:15 +07:00
tools M4.89: Slice and Slice Selection tools draw, pick, move, resize and delete slices 2026-10-05 12:52:15 +07:00
trace Robustness: VectorCraft never crashes — no panics in shipped code 2026-10-05 06:28:59 +07:00
ui-egui M4.37: Data Recovery keeps copies of modified documents and offers them after a crash 2026-10-05 15:24:16 +07:00