Commit Graph

13572 Commits

Author SHA1 Message Date
Peter Steinberger
f76e653776 fix: guard stale chat buffer sweep (#52428) (thanks @karanuppal) 2026-03-22 16:56:19 -07:00
Karan Uppal
550deb8c18 fix: sweep stale chatRunState buffers for stuck runs
emitChatFinal frees buffers on clean run completion, and the
maintenance timer sweeps abortedRuns after ABORTED_RUN_TTL_MS. But
runs that get stuck (e.g. LLM timeout without triggering clean
lifecycle end) are never aborted and their string buffers persist
indefinitely. This is the direct trigger for the StringAdd_CheckNone
OOM crash reported in the issue.

Add a stale buffer sweep in the maintenance timer that cleans up
buffers, deltaSentAt, and deltaLastBroadcastLen for any run not
updated within ABORTED_RUN_TTL_MS, regardless of abort status.

Closes #51821
2026-03-22 16:56:19 -07:00
Peter Steinberger
165aeccd24 test: align memory cli json assertions 2026-03-22 23:46:54 +00:00
Peter Steinberger
4e531d382b fix(ci): restore cli runtime mocks and timeout exits 2026-03-22 23:43:58 +00:00
Peter Steinberger
85f8437399 test: fix remaining tsgo issues after payload output refactor 2026-03-22 23:39:07 +00:00
Peter Steinberger
ac8e81a5cd refactor: compose account security warning helpers 2026-03-22 23:37:12 +00:00
Peter Steinberger
39faf4725d refactor: share warning collector projections 2026-03-22 23:37:12 +00:00
Peter Steinberger
f0ab31366c refactor: share async computed channel status adapters 2026-03-22 23:37:12 +00:00
Peter Steinberger
72bfaf6ee2 refactor: share computed channel status adapters 2026-03-22 23:37:12 +00:00
Peter Steinberger
023394bc0b fix(plugin-sdk): keep testing barrel narrow 2026-03-22 23:30:59 +00:00
Peter Steinberger
bca7787f92 style: fix rebased format drift 2026-03-22 23:26:21 +00:00
Peter Steinberger
63130118ba test: fix rebased gateway and binding baselines (#52491) 2026-03-22 23:22:48 +00:00
Peter Steinberger
d73852ff21 fix: land plugin discovery missing-entry handling (#52491) (thanks @hclsys) 2026-03-22 23:22:48 +00:00
Peter Steinberger
4ee41cc6f3 refactor(cli): separate json payload output from logging 2026-03-22 23:19:17 +00:00
Peter Steinberger
274af0486a perf: trim more vitest thread pins 2026-03-22 16:18:26 -07:00
Peter Steinberger
6245b4f3d8 test: import vi in gateway chat server test 2026-03-22 23:17:05 +00:00
HCL
4f11982ae6 fix: emit warn diagnostic for I/O errors, keep silent only for ENOENT
Address Codex P1 + Greptile P2: the previous commit collapsed both
"path" (ENOENT) and "io" (EACCES/EMFILE) into silent null returns.

Now:
- reason="path" (missing file): return null silently — not a security issue
- reason="io" (permission/disk): push warn diagnostic — surface anomaly
  without aborting gateway
- reason="validation" (path escape): push error diagnostic — security violation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: HCL <chenglunhu@gmail.com>
2026-03-22 16:13:54 -07:00
HCL
8701a224f8 fix(plugins): distinguish missing entry file from security violation
resolvePackageEntrySource() treats all openBoundaryFileSync failures
as path-escape security violations. When an extension entry file is
simply missing (ENOENT, reason="path"), the gateway emits "extension
entry escapes package directory" and aborts — crashing in a loop.

Root cause: src/plugins/discovery.ts:478 checks !opened.ok but never
inspects opened.reason. SafeOpenSyncResult already distinguishes
"path" (ENOENT) from "validation" (actual path escape).

Fix: only push the security diagnostic when opened.reason is
"validation". For "path" or "io" failures, return null to skip the
entry silently — a missing file is not a security violation.

Closes #52445

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: HCL <chenglunhu@gmail.com>
2026-03-22 16:13:54 -07:00
Codex
8c7d603f25 fix(gateway): keep status helpers resilient to netif failures 2026-03-22 16:09:43 -07:00
Vincent Koc
c0cbc7403b test(env): normalize path expectations on windows 2026-03-22 16:08:49 -07:00
Peter Steinberger
ec51ee1af5 test: harden gateway no-isolate coverage 2026-03-22 16:08:22 -07:00
Peter Steinberger
1eba6f830c test: remove stale plugin registry helper 2026-03-22 23:07:32 +00:00
Peter Steinberger
d84b3f5d5d test: fix conversation binding registry stub 2026-03-22 16:02:13 -07:00
Peter Steinberger
f8ff2a4f38 test: fix gate after main drift 2026-03-22 23:00:02 +00:00
Vincent Koc
5c8e1275a0 feat(minimax): add missing pi catalog models 2026-03-22 15:55:20 -07:00
Peter Steinberger
1ad47b8fa1 test: harden path resolution test helpers 2026-03-22 22:47:58 +00:00
Peter Steinberger
5a8f77aa6a refactor: adopt chat plugin builder in zalouser 2026-03-22 22:45:06 +00:00
Charles Dusek
81b498b2b6 fix(cli): keep JSON payloads on stdout when logs route to stderr 2026-03-22 15:43:48 -07:00
Charles Dusek
5bba1b45bc fix(cli): bypass patched console.log for JSON payloads in --json mode 2026-03-22 15:43:48 -07:00
Charles Dusek
ebb4cc0128 fix(cli): route logs to stderr in --json mode to keep stdout clean 2026-03-22 15:43:48 -07:00
Vincent Koc
b93a045a96 docs(agents): update steering semantics 2026-03-22 15:40:56 -07:00
Vincent Koc
6e7855fdf5 feat(xai): support fast mode 2026-03-22 15:40:56 -07:00
Vincent Koc
9c0983618e feat(models): sync pi provider catalogs 2026-03-22 15:40:56 -07:00
Peter Steinberger
77cbbae81b test: fix ci drift after main rebase 2026-03-22 22:38:27 +00:00
Roger Deng
c3f1d43a10 test: align chrome launch args fixture with current browser profile type 2026-03-22 15:37:19 -07:00
Roger Deng
72d775e069 fix: stop forcing an extra blank tab on browser launch 2026-03-22 15:37:19 -07:00
Peter Steinberger
58c3f8673a test: fix full gate after runtime lazy-load 2026-03-22 22:33:07 +00:00
Peter Steinberger
6df6a691fc perf: lazy-load plugin runtime heavy surfaces 2026-03-22 22:33:07 +00:00
scoootscooob
d9de38e0f8 Reply: tighten media dedupe and OpenAI ratio claims 2026-03-22 15:26:45 -07:00
Peter Steinberger
24b9baebab fix: preserve runtime path env in secrets snapshots 2026-03-22 15:25:58 -07:00
Peter Steinberger
47e8ffc2e9 test: repair current main gate regressions 2026-03-22 22:22:46 +00:00
scoootscooob
24032dcc0e Reply: fix generated image delivery to Discord (#52489) 2026-03-22 15:18:16 -07:00
Peter Steinberger
6d34d62795 test: harden no-isolate gateway auth and pairing 2026-03-22 15:15:50 -07:00
Peter Steinberger
91cd38f4d4 fix(test): repair main CI drift 2026-03-22 22:12:43 +00:00
Peter Steinberger
030e950e5f test: simplify ACP spawn scenarios 2026-03-22 15:11:22 -07:00
Peter Steinberger
a81e671509 refactor: extract ACP spawn flow helpers 2026-03-22 15:11:22 -07:00
Peter Steinberger
eca0809a6d refactor: convert session manager cache to factory 2026-03-22 22:10:48 +00:00
Peter Steinberger
8eadc2f43b refactor: extract shared expiring cache 2026-03-22 22:10:48 +00:00
Peter Steinberger
e06b8d3e62 fix: harden update channel switching 2026-03-22 15:09:38 -07:00
Peter Steinberger
66743b84fa refactor(whatsapp): centralize web monitor state 2026-03-22 22:07:41 +00:00