Commit Graph

8685 Commits

Author SHA1 Message Date
Peter Steinberger f5ede0f2bd test: stabilize acp cwd prefix assertions across env leakage 2026-02-22 14:18:44 +00:00
Peter Steinberger b0a8b3bebb test: share fast-path mocks for targeted doctor suites 2026-02-22 14:18:44 +00:00
Peter Steinberger 2c0b72acb8 test: speed up slow media and synology suites 2026-02-22 14:18:44 +00:00
Peter Steinberger 32c33f4faa test: isolate doctor allowFrom migration assertions from unrelated checks 2026-02-22 14:18:44 +00:00
tyler 9b23e5ce1f test: fix flaky auth tests when OPENCLAW_GATEWAY_TOKEN is present 2026-02-22 15:17:37 +01:00
Peter Steinberger 9f2b25426b test(core): increase coverage for sessions, auth choice, and model listing 2026-02-22 14:08:51 +00:00
Peter Steinberger d116bcfb14 refactor(runtime): consolidate followup, gateway, and provider dedupe paths 2026-02-22 14:08:51 +00:00
Peter Steinberger 38752338dc refactor(tui): dedupe handlers and formatter test setup 2026-02-22 14:08:51 +00:00
Peter Steinberger 66f814a0af refactor(channels): dedupe plugin routing and channel helpers 2026-02-22 14:08:51 +00:00
Peter Steinberger 013299b001 perf: lazy-load non-interactive onboarding heavy paths 2026-02-22 13:47:25 +00:00
Peter Steinberger adfbbcf1f6 chore: merge origin/main into main 2026-02-22 13:42:52 +00:00
Peter Steinberger 06d93cc12c test: dedupe doctor routing allowFrom migration coverage 2026-02-22 13:41:00 +00:00
Peter Steinberger 1becebe188 fix: harden session lock contention and cleanup 2026-02-22 13:40:55 +00:00
Peter Steinberger 648d2daf67 test: drop duplicate timeout-fallback e2e and trim onboarding auth overlap 2026-02-22 13:33:40 +00:00
Peter Steinberger 7a2b05314a test: speed up onboarding provider auth and temp-path guard scans 2026-02-22 13:24:59 +00:00
Peter Steinberger 494bb685f8 test: merge signal typing-read-receipt coverage into inbound contract suite 2026-02-22 13:24:53 +00:00
Peter Steinberger a395479d8b test: merge signal sender-prefix coverage into typing suite 2026-02-22 13:12:57 +00:00
Peter Steinberger 83597572df test: speed up thread-bindings shared-state loader test 2026-02-22 13:09:59 +00:00
Peter Steinberger d236ded43f test: speed up non-interactive gateway onboarding suite 2026-02-22 13:08:34 +00:00
Peter Steinberger 9e868dcf5a test: remove redundant channels smoke parse case 2026-02-22 12:56:18 +00:00
Peter Steinberger 5e62d0105b test: trim smoke duplicates and reuse telegram bot setup 2026-02-22 12:55:27 +00:00
Peter Steinberger 27053826e5 test: close bootstrap ws in approval bypass suite 2026-02-22 12:55:22 +00:00
Peter Steinberger 83a2926328 test: align remaining trigger configs with fast harness defaults 2026-02-22 12:43:10 +00:00
Peter Steinberger 829236afa7 test: reuse trigger harness defaults in custom configs 2026-02-22 12:41:37 +00:00
Peter Steinberger 2c40a20737 test: trim background hold duration in abort coverage 2026-02-22 12:38:57 +00:00
Peter Steinberger 00eb2541dc test: shorten idle child timers in timeout assertions 2026-02-22 12:37:49 +00:00
Peter Steinberger 5b23159c4c test: create homedir before sandbox image mkdtemp 2026-02-22 12:35:38 +00:00
Peter Steinberger 96515a5729 test: merge duplicate read-tool content coverage cases 2026-02-22 12:32:05 +00:00
Peter Steinberger 22ff83c3cf test: remove fixed delay from cron concurrency assertion 2026-02-22 12:30:43 +00:00
Peter Steinberger c8a4977378 test: replace mtime sleep with explicit utimes bump 2026-02-22 12:29:53 +00:00
Peter Steinberger 8e29160eaa test: remove fixed waits from tool-result ordering tests 2026-02-22 12:29:08 +00:00
Peter Steinberger dc356ae1c2 test: remove duplicate workspace path-resolution case 2026-02-22 12:27:55 +00:00
Peter Steinberger c7a4346e4d test: remove sharp dependency from read-tool metadata test 2026-02-22 12:27:10 +00:00
Peter Steinberger 60a0291bf8 test: dedupe workspace path-resolution scenarios 2026-02-22 12:25:57 +00:00
Peter Steinberger 07527e22ce refactor(auth-profiles): centralize active-window logic + strengthen regression coverage 2026-02-22 13:23:19 +01:00
Peter Steinberger c61c9e121a test: relax node connect challenge timeout in approval suite 2026-02-22 12:22:53 +00:00
Peter Steinberger 1152b25866 fix(gateway): guard trim crashes in subagent flow 2026-02-22 13:21:26 +01:00
Peter Steinberger eec3182cbb fix(utils): guard resolveUserPath for missing workspace input 2026-02-22 13:19:25 +01:00
Peter Steinberger 0d0f4c6992 refactor(exec): centralize safe-bin policy checks 2026-02-22 13:18:25 +01:00
Peter Steinberger 3a6e0e70f6 test: make gateway connectReq timeout configurable 2026-02-22 12:18:21 +00:00
Peter Steinberger 89e2928204 test: speed up trigger harness queue defaults 2026-02-22 12:18:15 +00:00
Peter Steinberger dc6440b9f3 test: harden claude usage fallback assertions 2026-02-22 12:18:10 +00:00
Peter Steinberger bcad4f67a2 fix(gateway): unify listen startup log across bind hosts 2026-02-22 13:17:25 +01:00
Artale 51e9c54f09
fix(agents): skip bootstrap files with undefined path (#22698)
* fix(agents): skip bootstrap files with undefined path

buildBootstrapContextFiles() called file.path.replace() without checking
that path was defined. If a hook pushed a bootstrap file using 'filePath'
instead of 'path', the function threw TypeError and crashed every agent
session — not just the misconfigured hook.

Fix: add a null-guard before the path.replace() call. Files with undefined
path are skipped with a warning so one bad hook can't take down all agents.

Also adds a test covering the undefined-path case.

Fixes #22693

* fix: harden bootstrap path validation and report guards (#22698) (thanks @arosstale)

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-02-22 13:17:07 +01:00
Peter Steinberger d2542d9d37 chore(gateway): cover denied notifyOnExit path and clarify help 2026-02-22 13:14:08 +01:00
zerone0x 6fde581a25 test(node): add coverage for notifyOnExit=false suppressing exec events 2026-02-22 13:14:07 +01:00
zerone0x 0f7b259cca fix(node): respect tools.exec.notifyOnExit for node exec events
Node exec events (exec.started, exec.finished, exec.denied) now check
the tools.exec.notifyOnExit config setting before generating system
event notifications. When notifyOnExit is false, all node exec event
notifications are suppressed.

This makes node exec behavior consistent with gateway exec, which
already respects this setting.

Fixes #20193

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-22 13:14:07 +01:00
Peter Steinberger 7c3c406a35 fix: keep auth-profile cooldown windows immutable in-window (#23536) (thanks @arosstale) 2026-02-22 13:14:02 +01:00
artale dc69610d51 fix(auth-profiles): never shorten cooldown deadline on retry
When the backoff saturates at 60 min and retries fire every 30 min
(e.g. cron jobs), each failed request was resetting cooldownUntil to
now+60m.  Because now+60m < existing deadline, the window kept getting
renewed and the profile never recovered without manually clearing
usageStats in auth-profiles.json.

Fix: only write a new cooldownUntil (or disabledUntil for billing) when
the new deadline is strictly later than the existing one.  This lets the
original window expire naturally while still allowing genuine backoff
extension when error counts climb further.

Fixes #23516

[AI-assisted]
2026-02-22 13:14:02 +01:00
Peter Steinberger 47c3f742b6 fix(exec): require explicit safe-bin profiles 2026-02-22 12:58:55 +01:00