Commit Graph
9801 Commits
Author SHA1 Message Date
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
roboomp 3c94ae4bbb fix(tui): prevented vibe wall scrollback duplication
Added an opt-in viewport-pinned live-region policy and propagated it through transcript composition for in-flight vibe_wait TV walls.

Pinned mutable wall frames now repaint virtually until finalization, while append-only live regions retain their existing frozen-snapshot behavior.

Fixes #5777
2026-07-17 02:22:47 +00: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
roboomp 7715132e71 fix(browser): guard cmux selector funnel against non-string selectors
CmuxTab.#selectorSpec bypassed the puppeteer-backend guards and called
normalized.startsWith(...) directly, so tab.click(await tab.ref("e5")) on a
cmux surface still threw the opaque TypeError instead of the named ToolError.
Apply assertSelectorString at the cmux funnel too.

Fixes #5776
2026-07-17 02:14:58 +00:00
roboomp 9f836712e8 fix(browser): rejected non-string tab selectors with a named error
tab.click/type/fill/waitFor*/scrollIntoView route their selector through
parseAriaRefSelector (.trim) and normalizeSelector (.startsWith) before any
validation, so passing the ElementHandle from tab.id(n)/tab.ref(...) (or an
un-awaited Promise of one) crashed with the opaque minified
"A.trim is not a function" instead of an actionable error.

- Added assertSelectorString guard at both selector funnels; throws a ToolError
  naming the recovery ((await tab.id(n)).click() or a string selector) and
  distinguishing ElementHandle / Promise / primitive.
- Corrected browser.md: handles are called directly, not fed to tab.click.
- Regression tests in both selector suites.

Fixes #5776
2026-07-17 02:10:55 +00: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 d8c02f2bb3 fix(coding-agent): roll back failed plan model restores 2026-07-17 03:57:03 +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
Victor Araújo 51ac313a63 fix(coding-agent): rolled back failed tool refreshes 2026-07-16 21:17:28 -03:00
Victor Araújo 188b9667c6 fix(coding-agent): preserved failed plan exits 2026-07-16 21:04:09 -03:00
Victor Araújo 0a4b26570f fix(coding-agent): made tool restoration transactional 2026-07-16 20:51:40 -03:00
Victor Araújo c01faf1cf5 fix(coding-agent): gated startup xdev mounts 2026-07-16 20:36:06 -03:00
Victor Araújo c60c182d8b fix(coding-agent): preserved mounted tool safeguards 2026-07-16 20:23:32 -03:00
Victor Araújo 68d905af04 fix(coding-agent): required built-in xdev reader 2026-07-16 20:09:39 -03:00
roboomp 5340a9517a fix(tools): keep essential built-ins top-level when re-registered without loadMode
Extension/SDK/RPC registerTool defaulted an omitted loadMode to
"discoverable". A UI-only re-register of an essential built-in
(read/write/bash/edit/glob) then became discoverable and, with tools.xdev
on, was unmounted from the top-level schema. read/write dropping also
broke the xd:// transport (read xd://, write xd://<tool>), leaving the
model with no callable coding essentials.

- Add defaultLoadModeForToolName: omitted loadMode resolves to "essential"
  for known essential built-in names, "discoverable" otherwise.
- Apply it at all four adapter boundaries (extension wrapper, custom-tools
  wrapper, sdk customToolToDefinition, rpc normalizeHostToolDefinitions).
- Transport invariant: read/write never mount under xdev regardless of
  loadMode (they carry the transport).
- Regression test covering the demotion, transport invariant, and a drift
  guard tying the essential-name set to the tool classes.

Fixes #5764
2026-07-16 23:08:02 +00:00
Victor Araújo 0f5ba296b8 fix(coding-agent): cleared PlanYolo state before restore 2026-07-16 19:57:28 -03:00
Victor Araújo 8d06327127 fix(coding-agent): preserved xdev mode transitions 2026-07-16 19:45:01 -03:00
Victor Araújo 5704c75081 fix(coding-agent): required built-in xdev transport 2026-07-16 19:40:12 -03:00
roboomp acff852022 fix(web-search): scoped kimi search to kimi code credentials
The Kimi web-search adapter posts to the Kimi Code endpoint
(api.kimi.com/coding/v1/search) but resolved and advertised Moonshot
Open Platform credentials (moonshot provider, MOONSHOT_API_KEY,
api.moonshot.ai). Those are a different credential system, so a valid
Open Platform key was rejected with 401 and the preferred provider
silently fell back to another engine.

resolveKey() and isAvailable() now use kimi-code credentials only
(explicit MOONSHOT_SEARCH_API_KEY / KIMI_SEARCH_API_KEY overrides or a
stored kimi-code login), and the missing-credential error and provider
metadata name the Kimi Code requirement.

Fixes #5762
2026-07-16 22:39:01 +00:00
Victor Araújo 63886e8e2a fix(coding-agent): respected runtime tool selection 2026-07-16 19:30:05 -03:00
Victor Araújo 2f6316319f fix(coding-agent): preserved xdev transport capabilities 2026-07-16 19:16:21 -03:00
Victor Araújo 2e95b90366 fix(coding-agent): centralized xdev transport lifecycle 2026-07-16 19:10:37 -03:00
Victor Araújo 6e86dc7b19 fix(coding-agent): preserved xdev presentation state 2026-07-16 19:01:18 -03:00
Victor Araújo 323ef8ec73 fix(coding-agent): restored xdev for explicit tools 2026-07-16 18:41:58 -03:00
Gerben Meijer 1e083eb832 feat(coding-agent): support per-project model roles 2026-07-17 01:22:23 +04:00
roboomp b1c0a01932 fix(cli): bounded print-mode memory teardown
- Applied the interactive shutdown budget to normal and error print-mode disposal.

- Added regression coverage for bounded mnemopi consolidation.

Fixes #5753
2026-07-16 20:47:14 +00:00
roboomp 64e6ffc454 fix(discovery): isolated Claude local plugins
Filtered Claude Code local marketplace entries against the canonical active project before exposing plugin roots.

Fixes #5750
2026-07-16 20:29:36 +00:00
roboomp 8ca790cb6f fix(status-line): wrapped overflow segments
Preserved configured segment priority by packing overflow into continuation rows.

Extended EditorTopBorder to render ordered rows inside the editor frame.

Fixes #5749
2026-07-16 20:19:54 +00:00
roboomp 203b959056 fix(advisor): restored primary after fallback cooldown
- Retained the advisor's original selector and thinking level while progressing through fallback candidates.
- Restored the configured primary before later advisor turns once its selector cooldown expired.
- Covered quota fallback restoration under the default cooldown-expiry policy.
2026-07-16 20:08:51 +00:00
roboomp e6de8142fe fix(session): retained bash ownership across session/branch transitions
Late user-initiated bash results and minimized-output artifacts were
recorded against whichever session or branch was active when execution
finished, not the one that started it. executeBash() awaited the result
then wrote through the mutable live sessionManager, while pending bash
messages carried no session/branch ownership and the minimized-output
callback used the live manager. A session change during execution
redirected transcript entries and artifacts to the replacement session
or branch, and a dropped session could be recreated by a straggler.

Capture a bash ownership target when execution starts and transition it
whenever the active session or transcript leaf changes. Late results and
minimized artifacts route to the originating session/branch (via a
detached clone when the file changed, or an off-leaf branch append when
the leaf moved), are discarded for an intentional drop, and ownership is
released on failed transitions. RPC dispatch concurrency and immediate
abort_bash behavior are unchanged.

Fixes #5743
2026-07-16 19:56:27 +00:00