mirror of
https://github.com/stablyai/orca.git
synced 2026-10-29 00:03:37 +00:00
Closes the three blockers from independent review of the renderer-only guard: 1. The dashboard popout has its own JS context and its own lazy chunks read from the same app.asar, but the updater event only ever reached the window that pressed Restart. Main now owns the state and broadcasts it to every window, and a window opened mid-install seeds itself over IPC. 2. Only main clears the state, so an ordinary recovery reload's abort event can no longer stand the archive back up mid-install. 3. Commitment is marked before the Linux package revalidation await, so an unrelated check error during that window cannot clear it while the install proceeds. Also adds the two invariants review found untested: a chunk already in the module map still resolves during an install (guard sits after the retry loop on purpose), and the skipped path touches sessionStorage not at all. The broadcast is fully defensive - a window that throws must never be able to fail an update install. The existing updater suite caught that; regression test added.