Files
orca/src/preload
Jinwoo-H 87ce12028e fix(updater): make install commitment a process-wide fact
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.
2026-08-08 10:50:06 -04:00
..