Commit graph

2803 commits

Author SHA1 Message Date
Mario Zechner
689e7b4ac2 fix(tui): make single-line paste atomic to avoid @ autocomplete lag
closes #1812
2026-03-04 18:25:37 +01:00
Mario Zechner
49749407fa fix(tui): ignore unsupported Kitty CSI-u modifiers closes #1807 2026-03-04 18:14:29 +01:00
Mario Zechner
8e157412a6 Update AGENTS.md 2026-03-04 18:06:26 +01:00
Cody Bontecou
f710c2705d
feat: add branchSummary.skipPrompt setting to skip summarization prompt (#1792)
When enabled, /tree navigation skips the 'Summarize branch?' prompt and
defaults to no summary, reducing friction for users who never want branch
summaries.

Closes #1791
2026-03-04 17:54:36 +01:00
waldner
b4f9986d23
fix(coding-agent): detect GNU screen TERM values and downgrade to 256color (#1809)
GNU screen does not support truecolor escape sequences. When pi emits
truecolor SGR sequences (e.g. \x1b[38;2;102;102;102m for the dim color
#666666), screen misparses the semicolon-separated parameters as
individual SGR codes. The RGB value 102;102;102 maps directly to
SGR 102 (bright green background), which then bleeds into every
subsequent \x1b[2K line-erase, producing a bright green background
on most info/status messages.

detectColorMode() now returns '256color' for any TERM value that is
'screen', starts with 'screen-' (e.g. screen-256color), or starts
with 'screen.' (e.g. screen.xterm-256color). The existing COLORTERM
check at the top of the function already handles the opt-in case for
users who have configured screen's truecolor passthrough.
2026-03-04 17:50:39 +01:00
xu0o0
d4b473e298
fix(ai): respect region from profile config when AWS_PROFILE is set (#1800) 2026-03-04 08:56:06 +01:00
Sviatoslav Abakumov
5c61d6bc92
fix(coding-agent): queue messages during branch summarization (#1803)
Messages submitted while a branch summary was being generated were
processed immediately instead of being queued. This happened because
isCompacting only checked compaction abort controllers, not the branch
summary abort controller.

Include _branchSummaryAbortController in the isCompacting getter so all
existing guards (message queueing, reload blocking) also apply during
branch summarization.
2026-03-04 08:55:30 +01:00
Matteo Collina
d35935200f
fix(coding-agent): avoid compaction reasoning for non-reasoning models (#1793) 2026-03-04 08:53:33 +01:00
Zhou Rui
85d06052fb
fix(tui): stabilize regional indicator width to prevent streaming render drift (#1783) 2026-03-03 21:59:56 +01:00
Zhou Rui
d4084a7ad6
fix(coding-agent): propagate focus in extension editor for cursor positioning (#1784) 2026-03-03 21:58:45 +01:00
David Chen
9a4fe52654
fix(mom): re-apply msg_too_long truncation logic lost in refactoring (#1776)
The truncation logic and error handling added in e1d3c2b7 (Dec 4, 2025)
was lost when message handling was refactored from slack.ts to main.ts.

Changes:
- Add try/catch to all Slack message functions (respond, replaceMessage,
  respondInThread, setTyping, setWorking)
- Truncate main messages at 35K chars (Slack limit 40K)
- Truncate thread messages at 20K chars
- Add helpful user-facing notes when truncation occurs
- Log Slack API errors as warnings instead of crashing

Fixes: msg_too_long API errors causing process crash

Co-authored-by: mom bot <mom-bot@living-bio.iam.gserviceaccount.com>
2026-03-03 17:45:06 +01:00
Mario Zechner
6b4b920425 fix(coding-agent): stop overflow auto-compaction cascades
fixes #1319
2026-03-03 17:19:42 +01:00
Mario Zechner
7b96041068 fix(ai): map groq qwen3 reasoning effort values closes #1745 2026-03-03 16:44:42 +01:00
Mario Zechner
42579dd923 feat(ai,coding-agent): add OpenCode Go provider support closes #1757 2026-03-03 16:02:29 +01:00
Mario Zechner
1912f0336b fix(coding-agent): allow model-level baseUrl override in models.json closes #1777 2026-03-03 15:46:58 +01:00
Mario Zechner
7bd4c45d81 fix(ai,coding-agent): update antigravity gemini 3.1 models and headers
fixes #1761
2026-03-03 14:54:43 +01:00
Jozsef Lazar
be66fe65bc
fix(coding-agent): strip all control characters from session display text (#1747) 2026-03-03 14:30:45 +01:00
Mario Zechner
76a191c264 fix(scripts): make npm scripts cross-platform with shx (closes #1771) 2026-03-03 14:26:01 +01:00
Aarni Koskela
993d916e56
perf(coding-agent): cache ModelsConfig validator (#1772) 2026-03-03 14:24:02 +01:00
Scott
6f4bd814b8
fix(coding-agent): allow provider-scoped custom model ids (#1759) 2026-03-03 14:20:49 +01:00
Vaclav Synacek
693187a3fb
Make koffi optional dependency for cross-platform support (#1603)
Koffi is only used on Windows for VT input support and fails to build
on Termux/Android and Linux systems without build tools. Moving it to
optionalDependencies allows installation to succeed on all platforms
while maintaining Windows functionality.
2026-03-03 09:21:47 +01:00
Graadient
c04708a71e
fix(coding-agent): add missing strip-ansi dependency (#1738)
strip-ansi is imported in bash-executor.ts and two interactive mode
components but is not declared in package.json dependencies. This
causes ERR_MODULE_NOT_FOUND at runtime in strict package managers
like pnpm that do not hoist undeclared dependencies.

Co-authored-by: Graadient <graadient@users.noreply.github.com>
2026-03-03 09:16:20 +01:00
Mario Zechner
c65de34e11 Add [Unreleased] section for next cycle 2026-03-02 23:25:10 +01:00
Mario Zechner
9a53d950c4 Release v0.55.4 2026-03-02 23:24:27 +01:00
Mario Zechner
8903299074 fix(coding-agent): close retry wait race across queued events (from #1726) 2026-03-02 23:20:16 +01:00
Mario Zechner
2e7ec46176 docs(coding-agent): add unreleased new features section 2026-03-02 23:08:08 +01:00
Mario Zechner
5ec0540bf4
Update README.md 2026-03-02 23:00:29 +01:00
Mario Zechner
8e06afbf34 chore(coding-agent): add changelog entry for PR #1719\n\ncloses #1719 2026-03-02 22:59:32 +01:00
Mario Zechner
7b7b967aef merge: PR #1719 for local testing 2026-03-02 22:54:58 +01:00
Mario Zechner
8032a302e9 docs(coding-agent): fix changelog attribution format 2026-03-02 22:52:55 +01:00
Mario Zechner
e18c74dda0 docs(coding-agent): reference #1237 in changelog attribution 2026-03-02 22:51:36 +01:00
Mario Zechner
8344f3da49 docs(coding-agent): add changelog attribution for #1720 2026-03-02 22:51:00 +01:00
Mario Zechner
8d4a49487a fix(coding-agent): add tool promptGuidelines support fixes #1720 2026-03-02 22:50:08 +01:00
Mario Zechner
bc2fa8d6d0 fix(coding-agent): support dynamic tool registration and tool prompt snippets closes #1720 2026-03-02 22:32:07 +01:00
Mario Zechner
dfc779faab fix(coding-agent): serialize session event handling to preserve message order (fixes #1717) 2026-03-02 20:48:22 +01:00
Mario Zechner
062f7ff52d docs(mom): add changelog entry for settings manager fix
closes #1444
2026-03-02 19:43:35 +01:00
Mario Zechner
105e296b69 chore(ai): update generated models data 2026-03-02 19:41:38 +01:00
Mario Zechner
46bfa7931e refactor(mom): use SettingsManager with workspace storage
fixes #1444
2026-03-02 19:41:38 +01:00
Aljosa Asanovic
b97310474b
fix(coding-agent): remove extra spacer before streaming tool blocks 2026-03-02 10:22:51 -05:00
Aljosa Asanovic
480d6bc62d
fix(coding-agent): allow suppressing custom tool transcript blocks 2026-03-02 10:22:41 -05:00
Mario Zechner
95276df060 Add [Unreleased] section for next cycle 2026-02-27 22:54:44 +01:00
Mario Zechner
9d68043cbc Release v0.55.3 2026-02-27 22:54:03 +01:00
Mario Zechner
af85b715db chore(coding-agent): add changelog entry for windows image paste keybinding closes #1682 2026-02-27 22:51:51 +01:00
Duncan Ogilvie
cec8c7888b
fix(coding-agent): use alt+v for image pasting on Windows (#1682) 2026-02-27 22:51:16 +01:00
Mario Zechner
edca5dd769 Add [Unreleased] section for next cycle 2026-02-27 22:26:46 +01:00
Mario Zechner
10180037d2 Release v0.55.2 2026-02-27 22:26:00 +01:00
Mario Zechner
15e0a74a3c docs: audit and add missing changelog entries for v0.55.1..HEAD 2026-02-27 22:25:03 +01:00
Mario Zechner
2f64df1e52 fix(coding-agent): prevent duplicate session headers when forking from pre-assistant entry
createBranchedSession() wrote the file and set flushed=true even when the
branched path had no assistant message. The next _persist() call saw no
assistant, reset flushed=false, and the subsequent flush appended all
in-memory entries to the already-populated file, duplicating the header
and entries.

Fix: defer file creation when the branched path has no assistant message,
matching the newSession() contract. _persist() creates the file on the
first assistant response.

closes #1672
2026-02-27 22:18:26 +01:00
Mario Zechner
9825c13f5f fix(ai): handle redacted_thinking blocks, skip interleaved beta for adaptive models, drop temperature with thinking
- Map redacted_thinking to ThinkingContent with redacted: true instead of
  adding a new content type. The opaque payload goes in thinkingSignature,
  thinking text is set to "[Reasoning redacted]" so it renders naturally
  everywhere. Cross-model transform drops redacted blocks.
- Skip interleaved-thinking-2025-05-14 beta header for Opus 4.6 / Sonnet 4.6
  where adaptive thinking makes it deprecated/redundant.
- Do not send temperature when thinkingEnabled is true (incompatible with
  both adaptive and budget-based thinking).

Based on #1665 by @tctev
2026-02-27 21:53:25 +01:00
Mario Zechner
afe9ae06e8 Closes #1671, switch to GLM-5 for tests 2026-02-27 21:35:40 +01:00