Commit Graph

9601 Commits

Author SHA1 Message Date
can1357 046dea349d merge PR #5746 via eval/pr-5746: fix(lsp): returned null for missing configuration 2026-07-17 04:40:04 +02:00
can1357 cf434411f6 merge PR #5744 via eval/pr-5744: fix(tui): reinstated host stdin listeners removed during tool load 2026-07-17 04:40:04 +02:00
can1357 b4dcbda74d merge PR #5729 via eval/pr-5729: fix(write): guarded xd approval evaluation failures 2026-07-17 04:40:03 +02:00
can1357 fd6f2e0b94 merge PR #5721 via eval/pr-5721: fix(coding-agent): stop post-turn maintenance turns
Resolved sdk.ts overlap with #5651 (kept getCursorTools alongside the
extracted transformToolCallArguments) and beginDispose overlap with
#5668 (kept both title-generation and autolearn-capture aborts).
2026-07-17 04:40:03 +02:00
can1357 6204abd593 merge PR #5720 via eval/pr-5720: fix(tui): prevented space from submitting ask answers 2026-07-17 04:39:16 +02:00
can1357 83bfb9d490 merge PR #5719 via eval/pr-5719: fix(read): preserved workspace suffix precedence 2026-07-17 04:39:16 +02:00
can1357 5768aa899f merge PR #5718 via eval/pr-5718: fix(debug): bundled all same-day pid logs 2026-07-17 04:39:16 +02:00
can1357 bcc67be379 merge PR #5714 via eval/pr-5714: fix(tui): preserved plan review text selection 2026-07-17 04:39:15 +02:00
can1357 e2dcc454f9 merge PR #5713 via eval/pr-5713: fix(cli): errored on unknown __omp_worker_ selectors 2026-07-17 04:39:15 +02:00
can1357 6d4d132c35 merge PR #5709 via eval/pr-5709: fix(coding-agent/launch): handle EISDIR from realpath on drive roots 2026-07-17 04:39:15 +02:00
can1357 99f2ffa033 merge PR #5703 via eval/pr-5703: fix(tui): preserved organization suffixes in usage panel 2026-07-17 04:39:14 +02:00
can1357 3a4220a16a merge PR #5699 via eval/pr-5699: fix(mcp): escape Windows cmd shim command path too 2026-07-17 04:39:14 +02:00
can1357 009dd99481 merge PR #5692 via eval/pr-5692: fix(usage): org-qualified session marker for same-email accounts 2026-07-17 04:39:14 +02:00
can1357 717cc59173 merge PR #5690 via eval/pr-5690: fix(mcp): match tool ownership by server name, not tool-name prefix 2026-07-17 04:39:13 +02:00
can1357 0c1b3391df merge PR #5689 via eval/pr-5689: fix(tui): deferred plan overlay hide past awaited title write 2026-07-17 04:39:13 +02:00
can1357 2104c16ec2 merge PR #5686 via eval/pr-5686: fix(cursor): wire advisor tools through the cursor exec bridge
Union-resolved test conflict with PR #5651's mounted-tool bridge tests;
extended the local BlockState helper with resolvedMcpToolCallIds added
by #5651's exec-resolved stamping.
2026-07-17 04:39:06 +02:00
can1357 57ff8a8d25 merge PR #5683 via eval/pr-5683: style(session): satisfy xdev rewind checks 2026-07-17 04:37:12 +02:00
can1357 96a59fa2ad merge PR #5682 via eval/pr-5682: fix(tools): fix hub tools env selection 2026-07-17 04:37:12 +02:00
can1357 3489ac46ca merge PR #5672 via eval/pr-5672: fix(session): honored quiet startup for xdev notices 2026-07-17 04:37:11 +02:00
can1357 4d7e51413b merge PR #5671 via eval/pr-5671: fix(bash): drained piped output before timeout return 2026-07-17 04:37:11 +02:00
can1357 5903894e66 merge PR #5668 via eval/pr-5668: fix(session): preserved provider session for titles 2026-07-17 04:37:10 +02:00
can1357 e56ac80b1d merge PR #5667 via eval/pr-5667: fix(extensions): isolated self-scheduled callbacks from killing the session 2026-07-17 04:37:10 +02:00
can1357 3f1f90be3b merge PR #5662 via eval/pr-5662: fix(plan): reapply plan role model when reassigned mid-planning 2026-07-17 04:37:10 +02:00
can1357 004445a954 merge PR #5660 via eval/pr-5660: fix(plugins): preserved commonjs sibling requires 2026-07-17 04:37:10 +02:00
can1357 bcc7d34a9a merge PR #5651 via eval/pr-5651: fix(cursor): gated mounted device execution through approval 2026-07-17 04:37:09 +02:00
can1357 30b9e8c158 merge PR #5641 via eval/pr-5641: fix(coding-agent): migrate legacy nested autoqa/todo settings keys 2026-07-17 04:37:09 +02:00
can1357 2620c18c47 merge PR #5637 via eval/pr-5637: fix(irc): scope mid-park send gate to the owning lifecycle 2026-07-17 04:37:09 +02:00
can1357 daea3ab341 merge PR #5586 via eval/pr-5586: fix(tui): used role tag in model selector status messages 2026-07-17 04:37:08 +02:00
can1357 4ded610d38 merge PR #5500 via eval/pr-5500: fix(review): fall back to per-file API when PR diff exceeds 20k lines 2026-07-17 04:37:08 +02:00
can1357 2b78c6d798 merge PR #5486 via eval/pr-5486: fix(cli): aliased clear to new session 2026-07-17 04:37:08 +02:00
can1357 6d8b7e9953 merge PR #5475 via eval/pr-5475: fix(tui): aligned ask "Other" custom-input chrome to prompt gutter 2026-07-17 04:37:08 +02:00
can1357 e207a49c18 chore: restore unrelated prompt whitespace 2026-07-17 04:23:43 +02:00
can1357 7b693f3d0b test(cli): cover clear alias collision 2026-07-17 04:23:23 +02:00
can1357 5d3ad91900 fix(plugins): preserve CommonJS ESM interop 2026-07-17 04:18:10 +02:00
can1357 1713364b25 fix(plan): clear superseded deferred role switches 2026-07-17 04:17:03 +02:00
can1357 f3f5745200 fix(review): guard per-file diff fallback limits 2026-07-17 04:16:46 +02:00
can1357 1074332098 fix(task): abort background label generation 2026-07-17 04:15:40 +02:00
can1357 8d9ba57c1a test(bash): keep timeout regression additive 2026-07-17 04:10:28 +02:00
can1357 a86fbaa8d1 fix(launch): preserve compatible PTY shells 2026-07-17 04:10:15 +02:00
can1357 f5a52963a7 fix(coding-agent): isolate auto-learn capture lifecycle 2026-07-17 04:07:05 +02:00
can1357 5b781090ae fix(cursor): resolve advisor deletes from live cwd 2026-07-17 04:05:39 +02:00
can1357 1b0d629a71 test(coding-agent): cover Ask single-select space input 2026-07-17 04:04:58 +02:00
can1357 570f3a1714 fix(debug): include rotated PID logs in reports 2026-07-17 04:04:45 +02:00
can1357 9a413bf812 fix(coding-agent): restore flowing stdin after guarded load 2026-07-17 03:57:12 +02:00
can1357 1424cae066 feat(coding-agent): added id-prefixed wildcard support to retry fallback chains
- Implemented parsing of id-prefixed wildcard keys and entries, allowing provider-specific prefixes in retry fallback configuration.
- Added logic to re-prefix failing model IDs and to match id-prefixed keys, with validation of provider existence.
- Updated settings schema description and changelog, and added tests covering the new behavior.
2026-07-17 03:49:43 +02:00
roboomp c6e9763068 fix(lsp): returned null for missing configuration
Answered unconfigured workspace/configuration sections with the spec-required null value and covered the Roslyn post-initialization pull path.

Fixes #5745
2026-07-16 19:55:50 +00:00
roboomp d2aeaeced6 fix(tui): reinstated host stdin listeners removed during tool load
The host guard's stdin restore only dropped listeners a module added; a
module that removed a snapshot listener (e.g. a factory calling
process.stdin.removeAllListeners("data") when a subagent re-runs preloaded
factories against a live parent TUI) permanently stripped ProcessTerminal's
input handler. Reconcile each guarded event back to the pre-load snapshot:
when membership changed, removeAllListeners then re-add the snapshot in
order, restoring both additions dropped and removals reinstated. Snapshot
via rawListeners so once-wrapped handlers round-trip intact.

Fixes #5618
2026-07-16 19:48:08 +00:00
roboomp 1fea9b149f fix(tui): guarded stdin against custom-tool import hijack
Custom tool/extension/hook/plugin modules under ~/.claude/tools are
evaluated with live side effects during createAgentSession. A module that
attaches a stdin consumer at import time — an MCP StdioServerTransport
built at module top level, or a bare process.stdin.resume() — steals
Bun's single stdin reader, so the TUI receives exactly one data event and
goes permanently deaf after the first keypress. Under tmux the terminal's
automatic DA1 reply is that one event, so the first user keystroke is
already dead: the input-deafness reported in #5378/#5618.

Broadened the loader's withExitGuard (renamed withHostGuard) to also
snapshot and restore process.stdin around third-party module evaluation:
any data/readable/end/close/error listener the module adds is removed, and
the stream's paused and raw-mode state is restored to the pre-load
snapshot. The exit guard already fenced process.exit; stdin is the same
class of host-state hijack.

Fixes #5618
2026-07-16 19:35:43 +00:00
roboomp 912dd44068 fix(write): guarded xd approval evaluation failures
Schema-invalid JSON objects can reach mounted approval functions before xdev dispatch validates their arguments. Fall back to the exec tier when an approval function throws, preserving fail-closed prompting and allowing dispatch to surface its normal schema error.

Added regression coverage for ast_edit payloads containing null paths.

Fixes #5727
2026-07-16 17:29:17 +00:00
roboomp 5445beb6f5 fix(write): evaluate function-valued xd:// device approvals
The write approval gate discarded a mounted tool's function-valued
approval and never decoded the device JSON payload, defaulting the tier
to exec. Read/write xd:// operations then prompted in non-yolo modes
that permit them.

Now decode valid object payloads and resolve the mounted tool's normal
approval decision via resolveToolTier; malformed JSON, non-object
payloads, and unknown devices still fall back to exec and prompt.

Fixes #5727
2026-07-16 17:24:22 +00:00