Commit Graph
1883 Commits
Author SHA1 Message Date
James Peter e00a4ecd56 feat(tui/help): include Slash Commands section in Ctrl+H and rely on existing scroll nav\n\n- Append a "Slash commands" list to the Help overlay using the enum source of truth\n- Keeps help scrollable with Up/Down/PageUp/PageDown/Home/End 2025-09-08 12:02:07 +10:00
James Peter d73530693f fix(tui/overlays): route Esc to Help/Diff overlays and hide input cursor while active\n\n- Treat Help and Diff overlays as active modals for Esc handling so one press closes them\n- Suppress composer cursor when overlays are shown to avoid visual caret in input\n- Preserves global Esc policy when no modal overlays are visible 2025-09-08 11:59:43 +10:00
James Peter 9a242a2c19 Merge origin/main: adopt remote release metadata; keep our TUI composer Ctrl+Backspace line delete and Ctrl+Z undo; finalize benign finalize handling 2025-09-08 11:53:15 +10:00
James Peter 5838f74669 Merge feat/ctrl-bs-delete-line into main: add Ctrl+Backspace line delete, Ctrl+Z undo in TUI composer; treat benign finalize commits as success; keep v0.2.88 release metadata 2025-09-08 11:51:11 +10:00
James Peter e9d2a2462b fix(tui/branch): treat 'nothing to commit/working tree clean' on finalize as success, avoid empty error; continue merge/cleanup flow 2025-09-08 11:38:57 +10:00
James Peter f5b22507aa Merge branch 'code-branch-please-fetch-https-github-com-just-every-code-is-20250908-011305' into main 2025-09-08 11:35:08 +10:00
GitHub Action 2a4a4bf19f docs(changelog): update for v0.2.88 [skip ci] 2025-09-08 01:26:18 +00:00
GitHub Action e8a7a44951 chore(release): 0.2.88 [skip ci] 2025-09-08 01:25:11 +00:00
James Peter 0cbeb651fc fix(tui/keys): route Ctrl+Z to composer undo in Chat; keep suspend on non-chat screens
Previously Ctrl+Z always triggered Unix job control (suspend), preventing
in-app undo. Now, when in Chat, we forward Ctrl+Z to the widget so the
TextArea can perform an undo; Onboarding still suspends on Unix.
2025-09-08 11:25:02 +10:00
James Peter a589aeeef2 feat(tui/input): add Ctrl+Z undo in composer TextArea
Introduce a simple bounded undo stack (128 snapshots) that records text and
cursor before each mutation (insert/replace). Wire Ctrl+Z to revert the last
edit so pastes and bulk edits can be undone in terminals lacking native Cmd-Z.
No behavioral changes to existing bindings.
2025-09-08 11:23:50 +10:00
James Peter c1b265f8f8 feat(tui/help): add Ctrl+H help overlay and replace footer hint\n\n- New in-app Help overlay (Ctrl+H) with key summary (Ctrl+R/T, Ctrl+D, Shift+Up/Down, editing keys, panels).\n- Footer hint now shows "Ctrl+H help" instead of "Ctrl+C quit"; quit flow via Ctrl+C remains intact.\n- Mirrors Diff Viewer styling for a consistent popup experience.\n\nCloses #60 2025-09-08 11:23:46 +10:00
James Peter c422d92dfd feat(tui/input): map Ctrl+Backspace to delete current line in composer
Provide a portable shortcut for deleting the entire current line when
terminals don’t forward the Command/SUPER modifier (e.g., iTerm2). This
mirrors Cmd+Backspace behavior where supported, without affecting existing
Alt+Backspace (word delete) and Ctrl+H (backspace) bindings.
2025-09-08 11:21:48 +10:00
James Peter f79ccf8bb8 Merge branch 'code-branch-please-fetch-https-github-com-just-every-code-is-20250908-004238' into main 2025-09-08 11:15:42 +10:00
James Peter 4d9ee4836f Merge remote-tracking branch 'origin/main' into code-branch-please-fetch-https-github-com-just-every-code-is-20250908-004238 2025-09-08 11:14:36 +10:00
James Peter 51e2081fc7 Merge branch 'code-branch-please-fetch-https-github-com-just-every-code-is-20250908-003138' into main 2025-09-08 11:09:55 +10:00
James Peter 9625da4648 Merge remote-tracking branch 'origin/main' into code-branch-please-fetch-https-github-com-just-every-code-is-20250908-003138 2025-09-08 11:08:30 +10:00
James Peter 9c712dba64 Merge remote-tracking branch 'fork/main' into main 2025-09-08 11:05:38 +10:00
James Peter 83bb0d3c54 Merge branch 'rec/shift-up-down-16c38b6bf' into main 2025-09-08 11:04:59 +10:00
James Peter c59fd7e2ba feat(core/git): after creating worktree, ensure 'origin' remote exists by aliasing a writable remote (fork/upstream-push) and set origin/HEAD for default-branch detection; improves default git command UX in worktrees 2025-09-08 11:02:30 +10:00
James Peter 9a4bddc748 feat(tui/footer): show one-time Shift+Up/Down history hint on first scroll
Add a 6s footer hint "Use Shift+Up/Down to use previous input" when the user scrolls for the first time. Triggered by PageUp/PageDown, mouse wheel, or Up/Down scrolling. Implemented via a new bottom-pane/composer API to display timed footer notices.

Closes #59
2025-09-08 10:49:38 +10:00
GitHub Action 0a44705796 docs(changelog): update for v0.2.87 [skip ci] 2025-09-08 00:48:56 +00:00
GitHub Action 0d63ae9044 chore(release): 0.2.87 [skip ci] 2025-09-08 00:48:07 +00:00
James Peter 7f021e37e4 feat(tui/input): support macOS Cmd shortcuts in composer
- Cmd+Left/Right jump to beginning/end of line
- Cmd+Backspace deletes the entire current line contents (preserves newline)
- Treat Shift+Left/Right as normal cursor moves (no selection mode)
- Keep Option+Delete (Alt+Backspace) and Option+Arrow word‑wise behavior
  as before for parity with common macOS editors

This aligns the TUI composer with expected macOS editing shortcuts and
mirrors Codex behavior. Closes #54.
2025-09-08 10:39:05 +10:00
James Peter 2866b6cfe9 Merge origin/main: adopt remote version bumps; keep ours elsewhere (tui/history) 2025-09-08 10:39:05 +10:00
James Peter 16c38b6bf4 fix(tui/history): make Shift+Up/Down navigate history in all popups; persist UI-only slash commands to history 2025-09-08 10:38:57 +10:00
James Peter 16b7800501 feat(tui/branch): include hidden preface with auto-submitted task instructing agent to ask for confirmation and optionally merge+cleanup on success 2025-09-08 10:36:37 +10:00
James Peter a78a225644 chore(tui/branch): prefix auto-submitted task with '[branch created]' so message history clearly reflects branch start 2025-09-08 10:27:51 +10:00
James Peter 5970a97798 fix(tui/branch): preserve visibility by emitting 'Switched to worktree: <path>' BackgroundEvent after session swap; avoid losing the confirmation message when history resets 2025-09-08 10:24:15 +10:00
James Peter 40783f517c fix(tui/branch): use BackgroundEvent for all /branch status/error messages (not streaming Answer); retry with unique branch name when branch already exists; propagate effective branch back to callers 2025-09-08 10:12:58 +10:00
GitHub Action aa7eeadc83 docs(changelog): update for v0.2.86 [skip ci] 2025-09-08 00:07:54 +00:00
GitHub Action 9dab989f19 chore(release): 0.2.86 [skip ci] 2025-09-08 00:06:50 +00:00
James Peter 959a86e889 fix(tui/branch): split multi-line worktree message into proper lines; remove private history insertion from SwitchCwd handler 2025-09-08 10:04:50 +10:00
James Peter b54f8d91ce chore(tui/branch): include task text in initial 'Creating branch worktree...' message 2025-09-08 10:02:26 +10:00
James Peter e4e5fb019f fix(core/exec): treat only 126 as likely sandbox denial; avoid false escalations for 1/2/127
- Update is_likely_sandbox_denied heuristic
- Prevent spurious approvals and post-approval hangs on common failures

Closes #51
2025-09-08 09:56:40 +10:00
James Peter a3b5c18aea docs(slash-commands): add comprehensive slash command reference; link from core README; add code comments reminding to update docs when adding commands 2025-09-08 09:56:03 +10:00
James Peter 8f888de155 feat(tui/branch): add /branch command to create worktree, switch session, and optional auto-run task; add finalize flow to merge to default and cleanup; refactor worktree helpers into core util and reuse in agent tool 2025-09-08 09:53:23 +10:00
James Peter 1d8182ba52 Merge origin/main: incorporate remote updates; keep our upstream-merge PR policy changes 2025-09-08 09:48:44 +10:00
James Peter be1a543af0 ci(upstream-merge): auto-close any PRs targeting upstream-merge (branch mirrors main; PRs belong on main) 2025-09-08 09:48:35 +10:00
GitHub Action 80c1922334 Merge origin/main: adopt remote workflow changes; keep release changes [skip ci] 2025-09-07 23:48:07 +00:00
GitHub Action 8e910084c4 docs(changelog): update for v0.2.85 [skip ci] 2025-09-07 23:47:58 +00:00
GitHub Action 265418735f chore(release): 0.2.85 [skip ci] 2025-09-07 23:46:56 +00:00
James Peter 1b5ed7ed5a ci(upstream-merge): ensure upstream-merge is reset to latest default in both skip and non-skip paths; gate PR creation on non-skip; close stale zero-diff PRs 2025-09-08 09:42:51 +10:00
James Peter 36309337b6 fix(ci/upstream-merge): quote step name containing colon to satisfy strict YAML parser 2025-09-08 09:38:56 +10:00
James Peter 81a31dd51c feat(tui/order): insert plan updates and background events at near-time; keep reasoning ellipsis during streaming. fix(core/websearch): stamp OrderMeta on WebSearchBegin/Complete for correct in-turn placement 2025-09-08 09:37:32 +10:00
James Peter 0930b6b086 fix(tui/approvals): immediate UI cancel on deny; FIFO approval queue
- Add AppEvent::CancelRunningTask; handle in App loop to call ChatWidget cancel
- Approval modal: send CancelRunningTask on Abort before forwarding ExecApproval
- ChatWidget: expose cancel_running_task_from_approval() to trigger UI cleanup
- Approval modal: process queued approvals FIFO (VecDeque) to preserve order

Closes #49
2025-09-08 09:34:04 +10:00
James Peter 70b3b76774 Merge origin/main: align with remote before push (no conflicts) 2025-09-08 09:29:15 +10:00
James Peter 6b6e364d5a fix(workflows/upstream-merge): move no-op check earlier and make ancestry checks reliable with blobless fetch; guard expensive setup when skipping 2025-09-08 09:19:13 +10:00
James Peter 07dfa4324a ci(upstream-merge): close zero-diff PRs even when skip=true (run PR step unconditionally) 2025-09-08 09:02:49 +10:00
James Peter a68765ed08 chore: restore files removed unintentionally in previous commit
Re-add .github/codex labels, .vscode config, and root scripts that were dropped while updating upstream-merge workflow. Only intended change is the PR zero-diff guard.
2025-09-08 09:02:26 +10:00
James Peter 858e0d1d46 ci(upstream-merge): skip PR on zero diff; close existing no-op PRs
- Guard PR step when upstream merge is a true no-op (no file deltas vs base).
- Add workflow-level 'if' on PR step to honor earlier skip short-circuit.
- Leaves agent + policy steps unchanged; avoids empty PRs like #83.
2025-09-08 09:01:51 +10:00