Skip to content

ADFA-4986: keep the boot gate on re-entry during a live install - #321

Merged
luisguzman-adfa merged 2 commits into
mainfrom
feat/ADFA-4986-install-reentry-gate
Aug 1, 2026
Merged

ADFA-4986: keep the boot gate on re-entry during a live install#321
luisguzman-adfa merged 2 commits into
mainfrom
feat/ADFA-4986-install-reentry-gate

Conversation

@luisguzman-adfa

Copy link
Copy Markdown
Collaborator

Tapping the install notification (or relaunching) mid-install re-entered LibraryActivity without EXTRA_INSTALLING, so onCreate took the normal-boot path: its autostart (~3.5s) and safety-dismiss (GATE_SAFETY_MS) timers fired, starting the server mid-provisioning and opening the gate over a system that was still downloading/extracting -> a broken library.

  • Derive installing also from the live install state: EXTRA_INSTALLING || InstallProgressRepository.get().current().isRunning() (DOWNLOADING/EXTRACTING/PROVISIONING), so a live install keeps the progress gate and skips the normal-boot timers.
  • Defense-in-depth: guard the autostart and safety-dismiss timers with !installing so a race (repo reports running just after onCreate) still can't start the server or lift the gate.

Dismissal stays driven by the install SUCCESS terminal path; covers download and extraction.

Tapping the install notification (or relaunching) mid-install re-entered LibraryActivity
without EXTRA_INSTALLING, so onCreate took the normal-boot path: its autostart (~3.5s) and
safety-dismiss (GATE_SAFETY_MS) timers fired, starting the server mid-provisioning and
opening the gate over a system that was still downloading/extracting -> a broken library.

- Derive `installing` also from the live install state: EXTRA_INSTALLING ||
  InstallProgressRepository.get().current().isRunning() (DOWNLOADING/EXTRACTING/PROVISIONING),
  so a live install keeps the progress gate and skips the normal-boot timers.
- Defense-in-depth: guard the autostart and safety-dismiss timers with !installing so a race
  (repo reports running just after onCreate) still can't start the server or lift the gate.

Dismissal stays driven by the install SUCCESS terminal path; covers download and extraction.
@luisguzman-adfa
luisguzman-adfa merged commit 1e56b57 into main Aug 1, 2026
3 checks passed
@luisguzman-adfa
luisguzman-adfa deleted the feat/ADFA-4986-install-reentry-gate branch August 1, 2026 23:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant