daniel-c-harvey beec36a382 fix(vault): atomic streamed write via temp→rename, suppress OCE log noise
AddEntryStreamingAsync now writes to a temp file in the same vault directory,
renames it into place (POSIX rename(2) — atomic on Linux), and updates the
index only after the rename succeeds. A client disconnect or I/O fault during
the write leaves the original backing file intact and the index unchanged; the
temp file is cleaned up best-effort on failure. Fixes the data-corruption
regression on the replace path where a cancelled write could truncate the live
backing file after the index update and FileMode.Create already ran.

Also filters OperationCanceledException from error-level logging in
RegisterResourceStreamingAsync — a normal client disconnect is not an error.

Two tests added to AudioStoreStreamingTests covering cancel and fault on the
replace path.
2026-06-25 15:46:58 -04:00
2025-09-04 19:58:46 -04:00
2026-06-23 08:50:22 -04:00
2026-06-23 08:50:22 -04:00
2026-06-23 08:50:22 -04:00
2026-05-20 16:54:21 -04:00
2026-05-16 19:33:23 -04:00
2025-12-09 16:46:07 -05:00
S
Description
No description provided
19 MiB
2026-06-27 02:55:40 +00:00
Languages
C# 60.5%
TypeScript 17.6%
HTML 14.5%
CSS 5.4%
Shell 1.8%
Other 0.2%