Sviatoslav Abakumov
970774ec3c
fix(coding-agent): /model shows stale scoped models ( #2408 )
...
After updating models.json, the scoped model selector still shows the
old values when opened. Switching to the "all" scope, however, shows
updated model definitions.
2026-03-19 23:40:07 +01:00
Dillon Mulroy
fe535333fe
feat(coding-agent): add resizable share sidebar ( #2435 )
2026-03-19 23:31:53 +01:00
Mario Zechner
31c7406a56
fix(coding-agent): suppress process warnings in CLI closes #2404
2026-03-19 22:21:48 +01:00
Mario Zechner
a6337dc709
fix(coding-agent): show bash tool elapsed time at bottom closes #2406
2026-03-19 22:13:27 +01:00
Mario Zechner
3620adb3e2
fix(coding-agent): reload custom themes from disk watcher\n\ncloses #2417\ncloses #2003
2026-03-19 21:53:05 +01:00
Mario Zechner
e0f85a3b5e
fix(coding-agent): avoid blocking footer branch refresh and isolate invalid extension provider registrations closes #2418 closes #2431
2026-03-19 21:40:55 +01:00
Duncan Ogilvie
25b185f398
fix(coding-agent): fix windows hanging when descendants inherit stdout/stderr handles ( #2389 )
2026-03-19 08:34:52 +01:00
Mario Zechner
ce15f40769
fix(coding-agent): use native clipboard text copy on desktop closes #2347
2026-03-18 22:42:02 +01:00
Helmut Januschka
fd385ecf06
feat(coding-agent): add JSONL export/import for sessions ( #2356 )
...
fixes #2274
2026-03-18 22:37:11 +01:00
Burak Varlı
d7befef90e
fix(coding-agent): use setBedrockProviderModule in Bun entrypoint closes #2349 ( #2350 )
...
`registerApiProvider()` gets wiped by `resetApiProviders()` during
session reload, replacing the Bun-bundled Bedrock provider with the
opaque lazy loader that cannot resolve inside the binary.
`setBedrockProviderModule()` sets an override that survives resets.
2026-03-18 16:41:45 +01:00
PriNova
f704ee7255
fix(ai): use OpenRouter reasoning payload ( #2298 )
...
* fix(ai): use OpenRouter reasoning payload
* fix(coding-agent): stop updating packages on startup closes #1963
* fix(ai): add openrouter thinkingFormat compat
---------
Co-authored-by: Mario Zechner <badlogicgames@gmail.com >
2026-03-18 11:23:27 +01:00
Mario Zechner
8a8e2a8049
docs(agent): update steering docs for deferred tool execution closes #2330
2026-03-18 03:49:30 +01:00
Mario Zechner
f951d45000
fix(coding-agent): stop updating packages on startup closes #1963
2026-03-18 03:26:46 +01:00
Mario Zechner
2becbbdff3
fix(coding-agent): refresh active model after provider updates closes #2291
2026-03-18 01:12:11 +01:00
Mario Zechner
1a9185d3cb
feat(coding-agent): add --fork session flag closes #2290
2026-03-18 01:09:23 +01:00
Mario Zechner
9651e4114d
feat(coding-agent): expose local bash operations closes #2299
2026-03-18 00:41:57 +01:00
Mario Zechner
7eb55b08cf
fix(coding-agent): reload keybindings on /reload closes #2309
2026-03-17 23:59:45 +01:00
Mario Zechner
8dc2bb969c
fix(coding-agent,ai): restore Bun binary lazy provider loading closes #2314
2026-03-17 23:30:18 +01:00
Mario Zechner
d914d1c199
fix(coding-agent): handle z.ai network_error closes #2313
2026-03-17 22:34:49 +01:00
Mario Zechner
bbd8392ef9
fix(coding-agent): merge piped stdin into initial prompt closes #2315
2026-03-17 22:25:35 +01:00
Gabriel Goller
9fc11921e4
fix(coding-agent): skip tmux extended-keys warning when tmux is unreachable ( #2311 )
...
When running inside a sandbox (e.g., bubblewrap) that blocks access
to the tmux socket, the tmux query hangs and times out, returning
undefined. Previously this was treated as "extended-keys is off",
showing a false warning. Now we skip the warning when the tmux server
can't be reached.
2026-03-17 22:15:25 +01:00
Aliou Diallo
18d90b5c48
fix(coding-agent): handle empty session titles and session info metadata ( #2304 )
...
* fix(coding-agent): handle empty session titles in tree
* fix(coding-agent): ignore session info in summaries
* docs: update changelog for PR #2304
2026-03-17 16:22:04 +01:00
Aaron Soules
2d05e87281
fix(coding-agent): handle reftable footer branch detection ( #2300 )
...
* fix(coding-agent): handle reftable footer branch detection
- Fall back to git commands when HEAD contains refs/heads/.invalid
- Treat unresolved .invalid as detached instead of showing literal .invalid
- Watch reftable directory for branch change updates
- Resolve commonGitDir for worktree setups
fixes #2123
* fix(coding-agent): improve reftable branch detection and reduce false-positive rerenders
- Re-resolve branch on watcher events instead of invalidating cache;
only notify listeners when the branch string actually changed
- Add regression tests: regular repo fast path (no spawnSync), nested
cwd upward walk, unchanged-branch reftable churn suppression
2026-03-17 15:33:33 +01:00
Mario Zechner
42d6a5461f
fix(coding-agent): emit OSC 133 command-executed marker closes #2242
2026-03-17 12:56:44 +01:00
Mario Zechner
7817e9b227
fix(coding-agent): make prompt snippets opt in closes #2285
2026-03-17 12:44:16 +01:00
Mario Zechner
8e3bb4ff55
fix(coding-agent): retry provider returned error closes #2264
2026-03-17 12:43:20 +01:00
Mario Zechner
700bcf3455
fix(coding-agent): normalize fuzzy edit matching and run touched tests closes #2044
2026-03-15 19:15:38 +01:00
Mario Zechner
b752a6e0a1
fix(coding-agent): handle slash-delimited /model refs closes #2174
2026-03-15 16:41:06 +01:00
Markus Ylisiurunen
c9a3d14aa5
feat(tui): make select list column sizing configurable ( #2154 )
...
* feat(tui): make select list layout configurable
* feat(tui): tune select list column sizing
* test(tui): fix select list alignment assertions
2026-03-14 15:50:00 +01:00
Mario Zechner
1feccfedcb
fix(coding-agent): handle WSL clipboard image fallback\n\nCloses #1722
2026-03-14 06:07:38 +01:00
Mario Zechner
80ca61a1c4
fix(coding-agent): start UI before session_start closes #2035
2026-03-14 05:48:38 +01:00
Mario Zechner
c3fc724887
fix(coding-agent): add uninstall alias
...
closes #2051
2026-03-14 05:44:47 +01:00
badlogic
4f81c3c28d
fix(coding-agent,tui): stabilize windows shell/path handling
...
fixes #1775
fixes #1769
2026-03-14 05:36:21 +01:00
Mario Zechner
03ad7ecee7
fix(ai): add qwen-chat-template compat mode closes #2020
2026-03-14 05:20:27 +01:00
Mario Zechner
a0396e1f9b
fix(coding-agent): silence headless clipboard fallback errors closes #2056
2026-03-14 05:05:07 +01:00
Mario Zechner
bdf2419ac3
fix(coding-agent): honor provider compat in models.json closes #2062
2026-03-14 04:55:03 +01:00
badlogic
671798d67f
fix(coding-agent): normalize prompt cwd for bash-safe windows paths closes #2080
2026-03-14 04:48:52 +01:00
Mario Zechner
7ddaf150d6
fix(coding-agent): support configurable npm wrapper command closes #2072
2026-03-14 04:38:01 +01:00
Mario Zechner
a8e3c829fa
fix(coding-agent): stop skill recursion at root closes #2075
2026-03-14 04:18:28 +01:00
Mario Zechner
b6181bed92
fix(coding-agent): expand paste markers in ctx.ui.getEditorText(), closes #2084
2026-03-14 04:08:24 +01:00
Mario Zechner
5c9ce47c53
fix(coding-agent): fix startup crash when downloading fd/ripgrep on first run
...
Use pipeline() instead of finished(readable.pipe(writable)) so stream
errors from abort signals are caught as promise rejections. Increase
download timeout from 10s to 120s for multi-MB archives.
closes #2066
2026-03-14 03:57:59 +01:00
Mario Zechner
63ac2df24d
fix(coding-agent): sync tool hooks with agent event processing closes #2113
2026-03-14 03:10:04 +01:00
Haoyu Zha
f04d9bc428
feat(session-manager): allow supplying custom session ID in newSession() ( #2130 )
...
* feat(session-manager): allow supplying custom session ID in newSession()
Add optional `id` field to `NewSessionOptions`. When provided, this ID
is used as the session ID instead of generating a random UUID. Existing
callers are unaffected since the field is optional and falls back to
`randomUUID()`.
Closes #2097
* test(session-manager): add tests for custom session ID in newSession()
Verify that newSession() uses the provided id when supplied, falls back
to randomUUID() when omitted, and includes the custom id in the session
header.
2026-03-14 01:34:48 +01:00
Mario Zechner
4b9e6006fa
fix(coding-agent): keep only ISO date in system prompt closes #2131
2026-03-13 21:07:03 +01:00
KangYu
2501a053e0
fix(coding-agent): match server_error and internal_error in retry regex ( #2117 )
...
The _isRetryableError() regex used literal spaces ("server error",
"internal error") but Codex SSE error events use underscores
("server_error"). Change to .? so both space and underscore (and
direct concatenation) are matched, enabling automatic retry on
transient Codex SSE errors.
fixes #2091
2026-03-13 18:51:04 +01:00
Melih Mucuk
738319e465
fix(coding-agent): Fix EXIF orientation for JPEG and WebP images ( #2105 )
...
* fix(coding-agent): apply EXIF orientation correction during image convert and resize
* docs(coding-agent): add PR reference to changelog entry
2026-03-13 17:44:14 +01:00
Mario Zechner
ad11058e37
fix(coding-agent): use shell for external editor on windows closes #1925
2026-03-08 00:48:42 +01:00
Mario Zechner
80d79eefc3
fix(coding-agent): prefer explicit -e extensions closes #1896
2026-03-08 00:34:31 +01:00
Mario Zechner
787f351ab7
feat(coding-agent): refine session_directory hook closes #1729
2026-03-08 00:19:35 +01:00
Helmut Januschka
7df89066d9
feat(coding-agent): add session_directory extension event
...
Adds a session_directory extension event that fires before session manager
creation, allowing extensions to customize the session directory path based
on cwd, git branch, or other context.
- Extensions can return a custom sessionDir in the event handler
- CLI --session-dir flag takes precedence over extension-provided paths
- If multiple extensions return a sessionDir, the last one wins
- Enables implementing branch-based sessions as an extension instead of core feature
This provides the extension point needed to implement git branch-based
session directories without adding the complexity to core.
Closes #1729
2026-03-08 00:19:35 +01:00