vectorcraft/crates/format
bflatastic 0cc7e59df0 Save: a folder that refuses the temporary file or the rename gets the content copied in (part of #1620)
A save writes a temporary file beside the document and renames it over
it. Some network shares refuse one of those steps although the document
itself can be written. The save now falls back, without giving up what
the rename is for:

- the temporary file can't be created beside the document: it is made
  in the system's temporary folder (for its owner only);
- the rename is refused: the content, whole and flushed in the
  temporary file, is copied into the document itself;
- when that copy fails, the temporary file stays and the error names
  it; when the document can't be opened for writing, it is untouched
  and the first error is returned;
- permissions that can't be copied to the temporary file (SMB, FAT) no
  longer fail the save.

A folder that isn't there and a full volume fail as before.
2026-10-13 12:58:05 +07:00
..
src Save: a folder that refuses the temporary file or the rename gets the content copied in (part of #1620) 2026-10-13 12:58:05 +07:00
tests Native save: documents whose JSON is large are written compact 2026-10-13 06:34:12 +07:00
Cargo.toml Workspace: rustix is declared once in the workspace dependencies 2026-10-13 12:58:04 +07:00