mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-06 20:02:16 +00:00
079a600481
* Fix recovery for unsaved background tabs (#2884) * Recovery: scheduled autosaves of every tab write on the worker thread (#2884) After #3139, Autosaver::save waits for the write and Autosaver::tick runs it on a worker. The scheduled path now goes through tick (which skips a tab whose previous write is still running), so several dirty tabs no longer write on the window thread each interval (#3044). save stays for Save, close and shutdown. Each tab's autosaver has no clock of its own: the shared cadence decides when it is due. The tests wait for the writes a tick started. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Recovery: closing a tab waits for its running autosave before removing the entry (#2884) With the autosave on a worker thread, discard could remove the files and the lock while a write was still running; the write then recreated the entry without a lock, and the next launch offered a design closed with Don't Save. discard now ends the running write first, as Drop does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>