Skip to content

fix: TUI follow-up spinner and isolated probe clipboard (#845, #836) - #854

Draft
justrach wants to merge 5 commits into
mainfrom
cursor/issues-tui-845-836-4ffc
Draft

fix: TUI follow-up spinner and isolated probe clipboard (#845, #836)#854
justrach wants to merge 5 commits into
mainfrom
cursor/issues-tui-845-836-4ffc

Conversation

@justrach

Copy link
Copy Markdown
Owner

Fixes #845 and #836.

  • Queuing a TUI follow-up no longer freezes the thinking indicator: spinnerTask keeps frames while the steer row is visible, hopping one line with DECSC/DECRC so the input is not wiped.
  • Tuiguard probes get private copy/paste via GRAFF_CLIPBOARD_COPY / PASTE so parallel clipboard tests do not collide.

Also unblocks Linux zig build test: the cancel-file unit test now iterates its tmpDir (same flag as the retention test).

Branch is off latest main. Tier 1 green, including 19 tuiguard PTY probes.

Open in Web Open in Cursor 

…oards

#845: the line-REPL spinner kept skipping frames whenever a steer row was
visible, so composing a follow-up froze the thinking indicator. Draw the
spinner on the line above the input (DECSC/DECRC) and serialize those
writes with steer echo. Term-driven TUI tests lock the same contract for
the pager: typing and Enter queue a follow-up without cancelling or
freezing the pending blink.

#836: tuiguard now mints per-probe copy/paste commands that Graff
children inherit via GRAFF_CLIPBOARD_COPY/PASTE, so parallel probes no
longer share the host pasteboard. Direct probe runs keep native
pbcopy/pbpaste.
Zig 0.17 has no std.posix.getenv. Use the same std.c.getenv path the
TUI already uses for TERM/TMUX, and drop a pointless job discard.
…gone

run_probe deletes the per-probe wrappers in finally, so isfile after
return was a false failure of the inherit check.
libc getenv and a second Threaded Io never reached the probe copy
script, so drag-select still wrote the host pasteboard (#836).
finish() always prunes, and iterating a non-iterate tmpDir fd
is EBADF on this host. Same openDir flag the retention test uses.
@cursor

cursor Bot commented Sep 10, 2026

Copy link
Copy Markdown

Take yxlyx first on the overlapping bits of this draft:

Keep this PR for #845 (TUI follow-up spinner) after those land and we rebase.

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.

TUI: queuing a follow-up freezes the thinking indicator

1 participant