Skip to content

feat: Claude Code parity roundup (/rewind, ! shell, queue navigation)#3186

Merged
esengine merged 4 commits into
main-v2from
feat/parity-roundup
Jun 5, 2026
Merged

feat: Claude Code parity roundup (/rewind, ! shell, queue navigation)#3186
esengine merged 4 commits into
main-v2from
feat/parity-roundup

Conversation

@esengine
Copy link
Copy Markdown
Owner

@esengine esengine commented Jun 5, 2026

Parity-feature roundup bringing the CLI/desktop closer to Claude Code, rebased onto current main-v2 and verified end-to-end (go build ./..., go test root+desktop, wails build tsc+Go). Authorship preserved per commit.

Verification: shell exec (TestRunShell_*), /rewind parse (TestParseRewind*), and queue-nav (TestQueue*/TestInterject*) tests pass; desktop wails build clean.

Closes #3164
Closes #2993
Closes #3143

Not included this round: #3070 (reveal-in-file-manager) is already in main-v2; #3144 / #3125 / #3030 (text-size / shortcuts / close-to-tray) conflict heavily in the reworked styles/settings and are deferred to a clean follow-up rebase.

yhemeo613 and others added 4 commits June 4, 2026 21:38
Adds parseRewind helper and wires /rewind into Controller.Submit() so all
frontends (TUI, desktop, HTTP) can trigger checkpoint-based rollback.

Usage:
  /rewind                    → rewind to latest checkpoint (both)
  /rewind <turn>             → rewind to specific turn (both)
  /rewind <turn> <scope>     → rewind with explicit scope
    scope = code | conversation | both

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Typing !<cmd> runs a shell command directly (bypassing the model), the
way Claude Code's bang prefix does. Wired through TUI, desktop, and the
controller (RunShell) under the same run lock; output streams as a tool
card with collapse/expand, and uses a process-group kill on timeout.

Co-authored-by: lanshi <yzs20030317@gmail.com>
While a turn streams, up/down browse and edit the pending-interject
queue (the queued-messages model Claude Code uses), with a dim queue
indicator above the input. Closes #2551.
The ! shell feature predated per-tab controllers: route RunShell through
activeCtrl() (a.ctrl is gone), dispatch the echo via dispatchTo(activeTabId)
(dispatch was renamed), and type the Ctrl/Cmd+B handler as the DOM
KeyboardEvent (React's synthetic type shadows the global).
@esengine esengine requested a review from SivanCola as a code owner June 5, 2026 04:50
@github-actions github-actions Bot added the v2 Go rewrite (1.x) — main-v2 branch, active development label Jun 5, 2026
@esengine esengine merged commit c952530 into main-v2 Jun 5, 2026
7 of 9 checks passed
@esengine esengine deleted the feat/parity-roundup branch June 5, 2026 04:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

v2 Go rewrite (1.x) — main-v2 branch, active development

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: 桌面端缺少消息排队,处理中追发的消息被静默吞掉

3 participants