Peter Steinberger
5da5551a5c
fix(qa): verify paired Ollama nodes over the gateway ( #115644 )
2026-07-29 02:18:16 -04:00
Peter Steinberger
1b9481012b
fix(active-memory): share one recall per run across retries ( #115627 )
...
* fix(active-memory): share one recall per run across retries
Register in-flight recalls per ctx.runId so overlapping or changed-prompt
attempts join a single execution, and gate replacement recalls on settled
timeout cleanup. Entries clear on agent_end. Fixes #106957 .
* fix(active-memory): evict rejected recall entries
* test(active-memory): clarify run result retention
* test(active-memory): complete recall result fixture
2026-07-29 02:16:59 -04:00
Peter Steinberger
82de02209c
refactor: reuse doctor migration durability helpers ( #115625 )
...
* refactor: reuse shared doctor durability helpers
* fix: update rebased durability call site
2026-07-29 02:16:45 -04:00
Sanjay Santhanam
b8b9f8949d
docs: fix unsupported pnpm approve-builds -g in global install ( #106180 )
...
Closes #106166
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-29 02:15:18 -04:00
Peter Steinberger
921b0e1dda
feat(openai): support GA realtime over ChatGPT OAuth ( #115623 )
2026-07-29 02:14:23 -04:00
Vincent Koc
1c36054494
feat(agents): add code mode model acceptance matrix ( #115305 )
...
* feat(agents): add code mode model acceptance matrix
* fix(qa): emit canonical Code Mode matrix evidence
* fix(qa): reserve code mode matrix output safely
* fix(qa): require fresh matrix builds
* fix(qa): protect matrix evidence paths
2026-07-29 14:12:20 +08:00
ToToKr
ac09e35bd3
fix(signal): reject malformed base64 attachment data ( #114883 )
...
signalRpcRequest returns the JSON-RPC result via a bare cast, so getAttachment data reaches Buffer.from unvalidated. Node drops out-of-alphabet characters instead of throwing, so a damaged payload was silently written to disk as a corrupted attachment. Canonicalize after the existing size guard and fail with the attachment id instead.
2026-07-29 02:11:40 -04:00
Peter Steinberger
5d0594d064
fix(onboard): reject remote flags in local mode ( #115636 )
2026-07-29 02:09:26 -04:00
Peter Steinberger
e93fa7567b
refactor: table-drive retired model migrations ( #115618 )
2026-07-29 02:06:40 -04:00
Peter Steinberger
4f428e6226
fix(ui): fall back when profile hero avatar fails ( #115600 )
2026-07-29 02:06:10 -04:00
Peter Steinberger
8fd49c84aa
feat: make self-learning automatic by default ( #115576 )
...
* feat: make self-learning automatic by default
* fix: preserve capture authorization boundaries
* test: split autonomous capture coverage
2026-07-29 02:04:57 -04:00
Vincent Koc
4f4fc7a7ca
fix(agents): report embedded deadlines as timeouts ( #115319 )
...
* fix(agents): preserve embedded timeout outcomes
* fix(agents): stop fallback after hard timeout
2026-07-29 14:04:23 +08:00
Vincent Koc
3b3a64c322
fix(cli): keep JSON stdout valid through finalization ( #115315 )
...
* fix(cli): preserve JSON stdout through finalization
* test(cli): cover JSON entrypoint routing
* fix(cli): preserve native relay import ordering
2026-07-29 14:04:12 +08:00
Vincent Koc
44aaa2f916
fix(agents): clarify code mode contract for small models ( #115275 )
2026-07-29 14:04:01 +08:00
Peter Steinberger
117e44cb80
fix(linux): package media codecs for deb and AppImage ( #115616 )
...
* fix(linux): package media codecs
* fix(linux): bundle AppImage media codecs
* docs: refresh Linux page map
2026-07-29 02:03:55 -04:00
Peter Steinberger
95f62ee3ed
fix(gateway): redact CLI-imported history before dedupe ( #115597 )
...
* fix: redact imported CLI chat history
Apply transcript redaction to Claude CLI messages before history merge so locally redacted and imported copies dedupe consistently.
This also prevents secrets present only in the CLI transcript from reaching Control UI chat history.
Fixes #112930
* fix(gateway): type imported history redaction bridge
2026-07-29 02:02:23 -04:00
Peter Steinberger
350a6b081a
fix(gateway): bound stalled plugin shutdown ( #115619 )
...
Reuse the existing runtime shutdown grace so a hanging plugin stop cannot prevent channel and MCP/LSP child-process cleanup after SIGINT.
Fixes #106714
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-29 02:02:08 -04:00
Peter Steinberger
802c71cb1a
refactor(gateway): deduplicate message operation routing ( #115615 )
2026-07-29 02:01:32 -04:00
Peter Steinberger
032defb172
fix(nodes): cancel paired local inference when callers disconnect ( #115624 )
2026-07-29 02:00:22 -04:00
Peter Steinberger
26aa0f5e59
fix(googlechat): surface failed replies without duplicate sends ( #115638 )
...
* fix(googlechat): surface reply send failures instead of silently dropping chunks
Co-Authored-By: Claude <noreply@anthropic.com >
* test(googlechat): narrow regex match index for noUncheckedIndexedAccess
* fix(googlechat): isolate outbound delivery status reporting
---------
Co-authored-by: wangmiao0668000666 <wang.miao86@xydigit.com >
Co-authored-by: Claude <noreply@anthropic.com >
2026-07-29 02:00:06 -04:00
Vincent Koc
5ecd5f45db
chore(i18n): refresh native locales ( #115608 )
2026-07-29 13:59:04 +08:00
Peter Steinberger
5b6d326567
refactor(chat): consolidate media and outbox lifecycle state ( #115621 )
2026-07-29 01:56:51 -04:00
Peter Steinberger
fed427a50e
fix(codex): scope ephemeral runs to physical session bindings ( #115601 )
...
* fix(codex): scope ephemeral session bindings
* test(codex): normalize startup assertion errors
2026-07-29 01:56:46 -04:00
Peter Steinberger
26bfa88bb2
fix: restore native Talk transcripts, fallback, and microphone access ( #115577 )
...
* fix(ios): decode frameless Talk events
* fix(android): keep browser-only Talk models native
* fix(macos): gate dashboard media capture
* docs(talk): clarify native platform fallbacks
* chore(i18n): refresh native source inventory
* fix(android): gate relay entry on provider-level browser-only models too
2026-07-29 01:55:47 -04:00
Peter Steinberger
3b5676d2df
fix(mcp): recover expired stateful HTTP sessions ( #115614 )
2026-07-29 01:52:30 -04:00
Peter Steinberger
23db233bb5
fix(msteams): recognize provider-prefixed target ids ( #115609 )
...
* fix(msteams): recognize provider-prefixed target ids
* style(msteams): format explicit target regression matrix
2026-07-29 01:51:48 -04:00
Peter Steinberger
d976c2ea82
fix(gateway): bound live session history memory ( #115599 )
2026-07-29 01:49:08 -04:00
Gio Della-Libera
47f654ea14
fix(claws): report plugin setup readiness ( #114899 )
...
* fix(claws): report plugin setup readiness
* fix(claws): keep setup readiness helper private
* fix(claws): honor local provider auth evidence
* fix(claws): require auth-method-only setup
* fix(azure-speech): keep setup envs credential-only
* revert(azure-speech): preserve compound setup metadata
2026-07-29 05:48:35 +00:00
Peter Steinberger
cc3b059497
fix(plugins): honor update channel for targeted probes ( #115604 )
2026-07-29 01:46:53 -04:00
Peter Steinberger
d131ec6016
fix(skills): isolate coding-agent Codex auth ( #115611 )
2026-07-29 01:43:42 -04:00
Dallin Romney
2fa91f48d0
fix(ci): validate frozen release candidates ( #115605 )
...
* fix(ci): support historical i18n targets
* test(ci): cover historical i18n verification
2026-07-29 13:43:39 +08:00
Peter Steinberger
42dd07748b
fix(health): reduce diagnostic refresh spam ( #115602 )
2026-07-29 01:43:36 -04:00
Peter Steinberger
5fe07e4ae8
fix(update): honor declared plugin entrypoints during repair ( #115610 )
2026-07-29 01:43:30 -04:00
Peter Steinberger
a3a969be5d
fix(cli): avoid duplicate commentary delivery ( #115596 )
2026-07-29 01:40:55 -04:00
Alix-007
520e9fe1dd
fix(openrouter): skip malformed video catalog rows ( #111637 )
2026-07-29 01:40:15 -04:00
Peter Steinberger
5157340862
fix(browser): avoid colliding extension relay ports ( #115592 )
2026-07-29 01:40:06 -04:00
Kevin Lin
310396f1e1
fix(codex): enable configured apps in service sessions ( #115433 )
...
* fix(codex): attest configured plugin apps before turns
* fix(codex): tighten plugin thread config
* fix(codex): expose account app admission wrapper
2026-07-28 22:39:20 -07:00
Peter Steinberger
a24c1ceb3a
fix(channels): release inbound debounce at admission ( #115603 )
...
Track full dispatch completion separately for error handling and shutdown drain while allowing same-session follow-ups to steer active runs. Fixes #113180 .
Co-authored-by: Taksh <takshkothari09@gmail.com >
2026-07-29 01:38:15 -04:00
Peter Steinberger
ec4c90c455
fix(onboard): reject conflicting custom inputs ( #115595 )
2026-07-29 01:34:54 -04:00
Peter Steinberger
161a136941
fix(gateway): speed up startup with stateless plugin paths ( #115578 )
2026-07-29 01:34:49 -04:00
Peter Steinberger
0588c4f44c
fix(gateway): accept SDK Responses plain-text format ( #115594 )
...
Accept only the official OpenAI Responses SDK plain-text format and preserve strict rejection of unsupported structured outputs and verbosity.
Reported-by: @logicbridgedev
Refs: #80418
2026-07-29 01:33:42 -04:00
Peter Steinberger
98a066c90e
fix(agents): project llama.cpp-safe tool schemas ( #115598 )
...
Co-authored-by: Jithin Mohandas <mohandasjithin@gmail.com >
2026-07-29 01:33:32 -04:00
guanbear
48b3a28edc
fix(signal): escape real newlines in inbound verbose-log preview ( #114881 )
...
* fix(signal): escape real newlines in inbound verbose-log preview
The inbound preview regex matched the literal two-character sequence
backslash-n instead of the actual LF control character, so multi-line
message bodies kept real newlines and split the single-line log record.
Align Signal with the six sibling channels that use replace(/\n/g, "\\n").
Adds a focused test that mocks shouldLogVerbose and asserts the logged
preview stays single-line for an LF-separated body.
* chore: retrigger CI to clear stale checks
* fix(signal): escape all inbound log line breaks
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-29 01:31:58 -04:00
joshavant
6831f05184
fix(message): authorize fallback broadcast provider
2026-07-29 00:30:47 -05:00
joshavant
c4cd5a2bb4
fix(message): guard channel-less broadcast accounts
2026-07-29 00:30:47 -05:00
joshavant
23c318625b
fix: bind delegated message accounts to current turns
2026-07-29 00:30:47 -05:00
Alex Knight
be24db5f72
fix(auth): reuse Claude CLI logins natively and stop forwarding expired OAuth tokens ( #115134 )
...
* fix(auth): refresh selected Claude CLI profiles
* fix(auth): run imported Claude CLI logins as verified native passthrough
* fix(auth): satisfy CLI auth failure exhaustiveness
* docs: remove PR changelog entry
---------
Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com >
2026-07-29 01:30:07 -04:00
Peter Steinberger
c037c4ed45
fix(gateway): cancel disconnected HTTP tool calls ( #115550 )
2026-07-29 01:29:47 -04:00
Peter Steinberger
1084f6dda8
fix(memory): preserve Unicode in short-term promotion ( #115591 )
...
Use the existing surrogate-safe helpers at the dreaming lead and heading boundaries. Preserve contributor investigations in #107882 and #107910 .
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-29 01:29:43 -04:00
Peter Steinberger
5d55258694
fix(heartbeat): deliver task-preempted same-session commitments ( #115581 )
2026-07-29 01:29:27 -04:00