Skip to content

fix(installer): coordinate spinner and prompt ownership - #256

Open
nicknisi wants to merge 4 commits into
mainfrom
riker/13-complete-auth-6732-by-fixing-current-wor
Open

nicknisi wants to merge 4 commits into
mainfrom
riker/13-complete-auth-6732-by-fixing-current-wor

Conversation

@nicknisi

Copy link
Copy Markdown
Member

Complete AUTH-6732 by fixing current workos install spinner/prompt coordination across CLI and hosted TUI paths, adapting the existing PR216 work and adding deterministic regression plus interactive-terminal evidence where feasible. Ensure prompts remain visible/answerable and no orphan/stale spinner can erase or animate over them.

Riker's check bun run test && bun run typecheck && bun run lint && bun run format:check passed.

Opened as a draft by Riker (job 13).

Retire replaced spinner timers and hosted status handles, suspend new owners across queued input, and hand back only to the current phase. Abort and drain adapter prompts on completion/stop, and finish the agent spinner even without validation.

Adapted from Nick Nisi's PR #216, commit 1953bed. Extends that work to cover the paused clear/start review finding and the newer hosted Ink lifecycle. Refs AUTH-6732.
Let the facade borrow the current spinner line for output instead of letting logAboveSpinner resurrect an obsolete adapter phase. Keep hosted agent logs in their original transcript window. Includes a real-facade regression that fails when a stale adapter handle replaces a newer owner.
Exercise the real inquirer and hosted Ink adapters with synthetic events, queued answers, Ctrl-C and teardown at 100x30. Deny credential/network access, use a temporary local home, enforce bounded subprocess cleanup, and document deterministic/fake-stream/PTY evidence plus the reproduced baseline skills-test flake.
Record one detached /bin/sh reproduction of the exact required check with piped output and ignored stdin. All local stages exited zero in 11.834 seconds, including typecheck in 2.727 seconds, but the supervisor's 600-second timeout remains authoritative and unexplained without its process/environment evidence. Preserve implementation and PTY evidence; make no speculative compiler or infrastructure changes.
@linear-code

linear-code Bot commented Sep 28, 2026

Copy link
Copy Markdown

AUTH-6732

@nicknisi nicknisi changed the title Complete AUTH-6732 by fixing current workos install spinner/prompt coor… fix(installer): coordinate spinner and prompt ownership Sep 28, 2026
@nicknisi
nicknisi marked this pull request as ready for review September 28, 2026 20:08
@greptile-apps

greptile-apps Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[Medium risk] Refactors spinner and prompt coordination in the installer UI.

The PR appears safe to merge based on the reviewed changes.

Summary

The PR gives the UI facade ownership of spinner retirement and prompt coordination, updates the CLI and hosted adapters to cancel and drain prompts during shutdown, and adds deterministic and real-PTY regression coverage.

  • Queued questions reserve input while spinner animation and terminal logs wait.
  • Hosted output remains available to the transcript during questions.
  • Agent completion and teardown explicitly retire spinner status.
Diagram
%%{init: {'theme': 'neutral'}}%%
flowchart TD
  E[Installer event] --> A[CLI adapter]
  A --> U[UI facade]
  U --> P{Question pending?}
  P -->|Yes, terminal| Q[Pause spinner and defer terminal lines]
  P -->|Yes, hosted| H[Send lines to host transcript]
  P -->|No| R[Render current spinner and lines]
  Q --> S[Answer or cancellation]
  H --> S
  S --> D[Drain questions and retire or resume current owner]
Loading

Reviews (1) · Last reviewed commit: "docs(installer): distinguish local check..."

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant