Commit Graph

73271 Commits

Author SHA1 Message Date
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