Commit Graph

3218 Commits

Author SHA1 Message Date
Mario Zechner
83e8c88a2e docs: add missing changelog entries for v0.58.0..HEAD 2026-03-14 12:38:33 +01:00
Mario Zechner
ad48b52de4 fix(ai): align codex websocket headers and terminate SSE closes #1961 2026-03-14 12:23:17 +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
1a4d153d7a fix(ai): limit Bedrock prompt caching to Claude models\n\ncloses #2053 2026-03-14 05:20:41 +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
c961cda2cd fix(ai): harden Bedrock unsigned thinking replay closes #2063 2026-03-14 05:06:14 +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
Mario Zechner
62064b2b64 fix(ai): support xhigh for opus 4.6 by model id closes #2040 2026-03-14 04:55:03 +01:00
badlogic
a80bbc2227 fix(check): make browser smoke check cross-platform on windows 2026-03-14 04:48:52 +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
ad32089f0c fix(tui): preserve literal paste content closes #2064 2026-03-14 04:34:40 +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
acb0f4d807 fix(tui): preserve ./ prefix in tab completion, closes #2087 2026-03-14 04:12:38 +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
a79ca41190 fix(ai): handle unknown finish_reason in openai-completions gracefully
Map unknown finish_reason values (e.g. "end" from Ollama/LM Studio) to
"stop" instead of throwing, since assistant content is already produced.

fixes #2142
2026-03-14 04:01:22 +01:00
Mario Zechner
9c0ba357ad fix(tui): distinguish ctrl+backspace from backspace on Windows Terminal
0x08 (BS) was treated as plain backspace alongside 0x7f (DEL). On
Windows Terminal, Backspace sends 0x7f and Ctrl+Backspace sends 0x08,
making ctrl+backspace bindings unreachable.

Now 0x08 matches ctrl+backspace (and ctrl+h, same byte) but not plain
backspace. 0x7f remains plain backspace.

fixes #2139
2026-03-14 03:58:28 +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
b90f69297b Add [Unreleased] section for next cycle 2026-03-14 03:39:42 +01:00
Mario Zechner
c00653255d Release v0.58.0 2026-03-14 03:29:31 +01:00
Mario Zechner
27f8835a7f chore: add missing changelog entries for commits since v0.57.1 2026-03-14 03:27:48 +01:00
Mario Zechner
c7309aedac fix(ai): replace curl with fetch in Anthropic OAuth token exchange 2026-03-14 03:21:08 +01:00
Mario Zechner
9b794558c6 chore(ai): refresh generated models 2026-03-14 03:11:15 +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
Armin Ronacher
d574c03e19 Raise context length to 1M (#2135) 2026-03-14 01:34:25 +01:00
Mario Zechner
933348593c fix(ai): send tool result images in function_call_output closes #2104 2026-03-14 00:49:40 +01:00
Mario Zechner
4aa25bfb72 docs(agent,ai): clarify non-throwing stream and hook contracts 2026-03-13 22:54:41 +01:00
Mario Zechner
ea1a1f8266 docs(agent): clarify non-throwing stream contracts fixes #2119 2026-03-13 22:49:27 +01:00
Mario Zechner
7506b8e9ba fix(agent): remove broken async loop test 2026-03-13 22:48:55 +01:00
Mario Zechner
92882dc4cc fix(ai): improve anthropic oauth flow fixes #2119 2026-03-13 22:38:34 +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
github-actions[bot]
cea27bb899 chore: approve contributor jtac 2026-03-13 18:02:21 +00: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
github-actions[bot]
ff1bdf3593 chore: approve contributor in0vik 2026-03-13 17:49:47 +00:00
github-actions[bot]
93d22d67b1 chore: approve contributor zhahaoyu 2026-03-13 17:46:04 +00:00
github-actions[bot]
6bd1660a1e chore: approve contributor asoules 2026-03-13 17:26:18 +00: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
xu0o0
bd2c3ab67e feat(tui): treat paste markers as atomic segments in editor (#2111)
* feat(tui): treat paste markers as atomic segments in editor

Paste markers like `[paste #1 +123 lines]` are now treated as single
atomic units for cursor movement, word navigation, deletion, and
wrapping. Only markers with valid paste IDs (present in the editor's
pastes Map) are treated atomically.

* fix(tui): word-wrap oversized atomic segments in editor
2026-03-13 17:42:59 +01:00
xu0o0
adce496f63 fix(tui): handle narrow terminal width in editor scroll indicator (#2103) 2026-03-13 17:41:14 +01:00
Ben Smith
f5b1084176 fix(coding-agent): support PI_CODING_AGENT_DIR env var in example extensions (#2009) 2026-03-12 23:48:38 +00:00
xu0o0
b6b7fafddb fix(tui): normalize tabs in editor setText and input paths (#2027) 2026-03-12 23:48:15 +00:00
xu0o0
48e4bd94ef fix(tui): wordWrapLine overflow with wide chars at wrap boundary (#2082) 2026-03-12 23:46:37 +00:00
github-actions[bot]
5641693c4e chore: approve contributor tintinweb 2026-03-12 23:44:55 +00:00
Lucas Rangel Cezimbra
baeccade54 fix(tui): restore shift+tab in xterm modifyOtherKeys mode (#2081) 2026-03-12 23:36:45 +00:00
Mario Zechner
4535415300 fix(ai): capture usage from choice.usage for non-standard OpenAI-compatible providers
Some OpenAI-compatible providers (e.g., Moonshot/Kimi) return usage
data in chunk.choices[0].usage instead of the standard chunk.usage.
Extract usage parsing into a helper and check choice.usage as fallback.

closes #2017
2026-03-10 16:28:39 +01:00