Skip to content

Commit b627b80

Browse files
K2GO-422 fix(forgejo): scope the seed completion gate to the module flow
Third-pass review: seedPendingRun released the completion gate on mq.didFail("forgejo") in the post-install flow too, where the module queue is a stale/unrelated verdict. Scope it to moduleShown so a post-install seed run waits on its own state. Behavior-preserving for the module-install and post-install flows; closes the fragile coupling.
1 parent 692af42 commit b627b80

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

‎controller/app/src/main/java/org/appdevforall/k2go/redesign/SetupProgressActivity.java‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -770,8 +770,11 @@ private void render() {
770770
// K2GO-422: also wait in a post-install seed run (the "Install repos" button, no module this
771771
// run). The stranded case (a banked seed leaking into an unrelated Get More flow) has neither
772772
// moduleShown nor the launch extra, so it still does not block -- no hang reintroduced.
773-
boolean seedPendingRun = forgejoSeedActive() && !batchServerSlow && !mq.didFail("forgejo")
774-
&& (moduleShown || postInstallSeed);
773+
boolean seedPendingRun = forgejoSeedActive() && !batchServerSlow
774+
&& (moduleShown || postInstallSeed)
775+
// The forgejo runrole failing releases the gate ONLY in a module-install flow; a
776+
// post-install seed run (postInstallSeed) must not read a stale/unrelated queue verdict.
777+
&& !(moduleShown && mq.didFail("forgejo"));
775778
if (noRest && prootShown) {
776779
// proot-only: complete when the queue is terminal — plus, for a module batch, once the server
777780
// is back (up) or the restart has failed (a dead home that wakes up seconds later is exactly

0 commit comments

Comments
 (0)