Skip to content

Update welcome screen quit shortcut#382

Merged
edwin-zvs merged 2 commits into
mainfrom
remove-q-welcome-hint
Jun 6, 2026
Merged

Update welcome screen quit shortcut#382
edwin-zvs merged 2 commits into
mainfrom
remove-q-welcome-hint

Conversation

@edwin-zvs

@edwin-zvs edwin-zvs commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Summary

  • replace the empty welcome screen quit hint from q to C-x C-c
  • clarify the label as exit TUI, since the shortcut closes the TUI client rather than stopping the daemon
  • update the empty-state render test to assert the new quit hint and reject the old placeholder row

Tests

  • cargo test -p agentd-cli empty_tui_renders_welcome_and_modeline_hint
  • cargo build

No screenshot attached: this is a static shortcut-label change covered by the render assertion.

@edwin-zvs
edwin-zvs merged commit b6861ba into main Jun 6, 2026
1 check passed
@edwin-zvs
edwin-zvs deleted the remove-q-welcome-hint branch June 6, 2026 20:35
edwin-zvs added a commit that referenced this pull request Jun 7, 2026
…389)

CI has hung on every run since the rename (#385): the `restart` and
`tui_smoke` e2e test binaries never finish. Root cause:

- #382 retired `q` as a quit key; the global quit chord is now C-x C-c
  (keymap.rs). key_latency.rs was updated; restart.rs + tui_smoke.rs were
  not — they still `send(b"q")`.
- The e2e config disables the orchestrator, so the TUI sits on the empty-
  fleet welcome screen where only C-x C-c quits. `q` does nothing → the
  TUI never exits → `wait_exit` times out.
- `Tui::wait_exit` moved the child into a detached wait-thread and, on
  timeout, returned without killing it. `Drop` can't help (`self.child`
  is already taken), so the process leaks, the PTY reader stays parked,
  and the tokio runtime can't shut down → `cargo test` hangs forever
  instead of failing.

Fixes:
1. restart.rs + tui_smoke.rs (x2): send `\x18\x03` (C-x C-c) to quit.
2. Tui::wait_exit: grab a clone_killer() up front and kill the child on
   timeout, so a TUI that won't quit becomes a fast failure, never an
   infinite hang. Defense against this whole class recurring.

Verified locally: restart (3) + tui_smoke (2) now pass and complete in
seconds. This unblocks CI for main and all open PRs.
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