mirror of
https://github.com/stablyai/orca.git
synced 2026-10-04 08:02:09 +00:00
* fix: remove PDF export temp files after setup failures * fix(export): keep PDF temp cleanup to files this export created, and time out a hung load Two holes in the temp-document cleanup: - The write was not an exclusive create, so anything already sitting at the generated temp path (a symlink planted in the shared temp dir) would be written through, and the cleanup would then unlink an entry this export did not create. The write now uses `flag: 'wx'`, and the one failure that means "this path is not ours" (EEXIST) skips cleanup entirely. - The 60s timeout only covered render-and-print, started after the load had already finished. An export document whose script never yields fires neither `did-finish-load` nor `did-fail-load`, so the load await hung forever and the hidden window plus its temp file leaked for the life of the app. The timer now starts before `loadFile` and races the whole load-render-print sequence. Tests cover the preserved foreign file, a never-settling load, a load that resolves without either event, `did-fail-load`, and that one export's cleanup cannot touch a concurrent export's in-flight temp file.