Peter Steinberger
f2f34e5f35
fix: restore ci gates on main
2026-04-28 19:54:52 +01:00
Peter Steinberger
7191f1a1eb
fix(discord): tune gateway intents and metadata timeout
2026-04-28 19:39:49 +01:00
Peter Steinberger
065284deab
fix(auto-reply): pass model catalog to think menus
2026-04-28 19:37:10 +01:00
Kevin Lin
f351961173
fix: log fetch timeout aborts ( #73692 )
...
* fix: log fetch timeout aborts
* fix: redact relative timeout urls
2026-04-28 11:36:10 -07:00
Peter Steinberger
e2295b33c1
fix(ci): restore full release validation blockers
2026-04-28 19:20:18 +01:00
Peter Steinberger
cd2e13be8a
test: isolate channel catalog fixtures
2026-04-28 19:06:38 +01:00
Peter Steinberger
84154bb09c
perf(test): speed up boundary report checks
2026-04-28 19:00:22 +01:00
Peter Steinberger
53d34e7cde
fix(cli): support image files in model probes
2026-04-28 18:52:15 +01:00
Shakker
c0ec58f4b6
fix: preserve runtime kind install fallback
2026-04-28 18:04:54 +01:00
Shakker
a48ffda7f7
chore: trace plugin lifecycle phases
2026-04-28 18:03:01 +01:00
Shakker
3d89b0f2ec
fix: use plugin metadata for install slots
2026-04-28 18:02:40 +01:00
Neerav Makwana
3de5476f51
fix(auto-reply): preserve DM continuity across silent session rotations ( #70898 )
...
Merged via squash.
Prepared head SHA: 13bd2cef86
Co-authored-by: neeravmakwana <261249544+neeravmakwana@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-04-28 10:01:15 -07:00
Ayaan Zaidi
8af50b5b4c
fix(commands): preserve owner allowlists for native auth
2026-04-28 22:11:27 +05:30
Ayaan Zaidi
195f704c74
fix(reply): keep native command replies visible
2026-04-28 22:11:27 +05:30
Ayaan Zaidi
7b91f06384
fix(commands): honor channel-native command auth
2026-04-28 22:11:27 +05:30
Pavan Kumar Gondhi
bdfb408ce6
fix(plugins): restrict bundled plugin dir resolution to trusted package roots ( #73275 )
...
* fix: address issue
* fix: address review feedback
* fix: address PR review feedback
* fix: address PR review feedback
* fix: address PR review feedback
* fix: address PR review feedback
* fix: address PR review feedback
* fix: address PR review feedback
* fix: address codex review feedback
* fix: address codex review feedback
* fix: address codex review feedback
* fix: address PR review feedback
* fix: address review feedback
* fix: address PR review feedback
* fix: address PR review feedback
* fix: address review feedback
* fix: address PR review feedback
* fix: address PR review feedback
* fix: address review feedback
* docs: add changelog entry for PR merge
2026-04-28 21:35:32 +05:30
Pavan Kumar Gondhi
230f7122dd
fix(security): prevent workspace PATH injection via service env and trash helpers ( #73264 )
...
* fix: address issue
* fix: address PR review feedback
* fix: address review-pr skill feedback
* fix: address PR review feedback
* fix: address PR review feedback
* fix: address build feedback
* fix: address PR review feedback
* docs: add changelog entry for PR merge
2026-04-28 21:30:51 +05:30
Harry Xie
891c7d9f1c
fix(active-memory): align recall timeout with hook runner
...
Fixes #72606 .
2026-04-28 10:15:01 -05:00
Radek Sienkiewicz
dd643c82b5
fix(whatsapp): expose Baileys socket timing ( #73580 )
...
Merged via squash.
Prepared head SHA: d34755262f
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com >
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com >
Reviewed-by: @velvet-shark
2026-04-28 15:46:47 +02:00
Spolen23
12aaef9035
Fix infer CLI reliability gaps (openclaw#63263)
...
Verified:
- pnpm install --frozen-lockfile
- git diff --check
- pnpm test src/media-understanding/defaults.test.ts src/media-understanding/runner.vision-skip.test.ts src/media-understanding/runner.cli-audio.test.ts src/web-search/runtime.test.ts
- pnpm tsgo:test:src
Co-authored-by: Spolen23 <215900770+Spolen23@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-04-28 08:36:41 -05:00
Pavan Kumar Gondhi
189c91eae6
fix(device-pairing): validate callerScopes against resolved token scopes on repair [AI] ( #72925 )
...
* fix: address issue
* docs: add changelog entry for PR merge
2026-04-28 18:31:05 +05:30
Pavan Kumar Gondhi
037f197684
fix(agents): canonicalize provider aliases in byProvider tool policy lookup [AI] ( #72917 )
...
* fix: address issue
* fix: address PR review feedback
* fix: address PR review feedback
* fix: address PR review feedback
* fix: address PR review feedback
* docs: add changelog entry for PR merge
2026-04-28 18:14:59 +05:30
Pavan Kumar Gondhi
ccb3af556f
fix(security): block npm_execpath injection from workspace .env [AI-assisted] ( #73262 )
...
* fix: address issue
* fix: finalize issue changes
* fix: address PR review feedback
* fix: address PR review feedback
* fix: address PR review feedback
* docs: add changelog entry for PR merge
2026-04-28 18:11:16 +05:30
Alex Knight
7a23b2d945
fix: decode web fetch legacy charsets ( #73513 )
...
* fix: decode web fetch legacy charsets
2026-04-28 22:09:06 +10:00
Alex Knight
e4ff7c1620
fix: Discord read/search timeout, session-key fallback, and gateway execution mode ( #73521 )
...
* fix: Discord read/search timeout, session-key fallback, and gateway execution mode
- Add 15s timeout to readMessagesDiscord and searchMessagesDiscord so they
fail fast instead of hanging indefinitely (#73431 )
- Fall back to CommandTargetSessionKey in dispatchReplyFromConfig when
SessionKey is empty, so Discord inbound message:received hooks fire
reliably (#73431 , refs #33038 )
- Add resolveExecutionMode to Discord channel actions routing read/search
through gateway timeout path, matching Telegram's pattern (#73431 )
* fix: move timeout to fetch layer, drop send.messages wrapper
Inject AbortSignal.timeout into the Discord proxy-request-client fetch
wrapper so every Discord REST call gets a 15s timeout at the HTTP level.
This replaces the Promise.race wrapper in send.messages.ts — cleaner,
covers all calls, and actually aborts the TCP connection.
* fix: remove unused callerController variable in proxy-request-client test
* fix: remove unnecessary mergeAbortSignal helper
2026-04-28 21:46:05 +10:00
Alex Knight
f155a5f955
Add cron changed plugin hook ( #72773 )
...
* feat: add cron changed plugin hook
* fix: improve cron_changed hook correctness and code quality
- Fix PluginHookGatewayCronDeliveryStatus: replace 'error' with 'unknown'
to match internal CronDeliveryStatus enum
- Add job snapshot to CronEvent so removed events carry the deleted job
- Extract pickDefined helper, replace 14-field verbose spread mapping
- Add toPluginCronJob mapper for explicit internal→public type boundary
- Fix schedule union: use literal-only kind discriminants for TS narrowing
- Use loadConfig() (runtime) instead of params.cfg (startup) in hook ctx
- Use formatErrorMessage instead of String(err) for stack preservation
- Fix pre-existing getCron TS2322 with explicit cast (matches gateway_start)
- Re-export supporting types from hooks.ts for plugin consumers
- Add tests: removed events with job, finished with full fields, runtime cfg
2026-04-28 21:34:42 +10:00
Alex Knight
e84ebeafbd
fix(memory-core): retry dreaming cron startup reconciliation ( #73493 )
...
Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com >
2026-04-28 21:15:23 +10:00
Peter Steinberger
2ccdbc7dd9
fix(plugin-sdk): keep memory host wildcard shims
2026-04-28 12:08:13 +01:00
Peter Steinberger
343c69d7a1
fix: auto-enable media provider plugins
2026-04-28 12:05:30 +01:00
Peter Steinberger
3eb2a9d371
fix(plugin-sdk): drop unavailable memory host exports
2026-04-28 12:01:43 +01:00
Vincent Koc
75ba8398f9
fix(gateway): expose event loop health in readiness
2026-04-28 03:56:58 -07:00
Peter Steinberger
9f7932fbcc
test: update gateway client callsite guard
2026-04-28 11:54:43 +01:00
Peter Steinberger
9e5aa10e97
fix(memory-host): preserve core resolver exports in sdk shims
2026-04-28 11:54:12 +01:00
Peter Steinberger
af10be59d8
fix(approvals): stop stale approval resume loops
2026-04-28 11:53:22 +01:00
Peter Steinberger
ba722fd126
test: speed up channel mcp tests
2026-04-28 11:49:18 +01:00
Peter Steinberger
8260b64f7a
fix(memory-host): keep sdk shim exports complete
2026-04-28 11:48:59 +01:00
Vincent Koc
d55c7ea997
fix(plugins): bound prompt memory recall latency
2026-04-28 03:46:18 -07:00
Peter Steinberger
5de284c2e3
fix(release): restore main release checks
2026-04-28 11:44:44 +01:00
Peter Steinberger
6559288d4a
fix(agents): hide successful resume fallback prefix
2026-04-28 11:38:18 +01:00
Peter Steinberger
279e6453fc
fix(gateway): make repeated approval resolves idempotent
2026-04-28 11:38:18 +01:00
Peter Steinberger
885806d5ca
fix(gateway): stop stale device token reconnect loops
2026-04-28 11:38:18 +01:00
Peter Steinberger
205d8d4994
fix(pairing): recover malformed pairing state files
2026-04-28 11:38:18 +01:00
Vincent Koc
aa1834a3ff
fix(gateway): warn on legacy env vars
...
Fixes #53482 .
Supersedes #53667 .
2026-04-28 03:37:57 -07:00
Peter Steinberger
d770a3b786
test(memory): stabilize reindex and cron checks
2026-04-28 11:36:28 +01:00
Peter Steinberger
6a387afc53
refactor(memory-host): route sdk shims to package source
2026-04-28 11:36:28 +01:00
James Reagan
a722da3ed0
fix(gateway): align session thinking defaults ( #63418 )
...
Aligns Gateway history and session list thinking-default resolution so backend session state matches the Control UI default label:
- `chat.history` now falls back through the shared Gateway session thinking-default resolver.
- Explicit session overrides still win, then owning `agents.list[].thinkingDefault`, then global/model/catalog defaults.
- `sessions.list` catalog-aware thinking defaults are covered by focused regressions.
PR by @jpreagan.
Validated in Blacksmith Testbox `tbx_01kq9t1aeqrz1mj598vvqv9dpg`:
- `pnpm test:serial src/gateway/session-utils.test.ts src/gateway/server.sessions.gateway-server-sessions-a.test.ts src/gateway/server.chat.gateway-server-chat.test.ts` (141 passed)
- `OPENCLAW_TESTBOX=1 pnpm check:changed`
2026-04-28 03:34:58 -07:00
Vincent Koc
d70191f8af
feat(sandbox): add Docker GPU passthrough
...
Add opt-in `sandbox.docker.gpus` config plumbing for Docker sandbox containers.
- thread the optional GPU passthrough field through config types, schema, resolution, and Docker create args
- reject empty config values and emit `--gpus` as a separate Docker argv pair
- document the Docker-only behavior and credit the original contributor in the changelog
Fixes #57976 .
Carries forward #58124 from @cyan-ember.
Co-authored-by: cyan-ember <5855097+cyan-ember@users.noreply.github.com >
2026-04-28 03:33:28 -07:00
Peter Steinberger
35bc13f9ef
fix: prefer OpenAI media for Codex defaults
2026-04-28 11:30:17 +01:00
Shakker
32c987626b
fix: prune stale plugin runtime mirror entries
2026-04-28 11:25:09 +01:00
Shakker
92016b82ae
fix: refresh plugin runtime mirrors in place
2026-04-28 11:25:09 +01:00