Vincent Koc
ca990f2ce1
fix(codex): keep attempt watchdog for queued terminal turns
...
Keep the Codex app-server full attempt watchdog armed after a terminal turn notification is queued, so a wedged notification projector cannot leave a run stuck indefinitely.
Proof:
- `git diff --check origin/main...HEAD`
- `node scripts/run-oxlint.mjs extensions/codex/src/app-server/run-attempt.ts extensions/codex/src/app-server/run-attempt.test.ts`
- `node scripts/run-vitest.mjs run extensions/codex/src/app-server/run-attempt.test.ts --testNamePattern "keeps the attempt watchdog armed"` passed in PR proof (`1 passed | 232 skipped`)
- `OPENCLAW_TESTBOX=1 pnpm check:changed` passed in `tbx_01kskyg44ej461k574jee8ffjc`
- CI required checks green after `build-artifacts` rerun job `78031279635` passed
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-05-27 08:50:59 +01:00
Agustin Rivera
08a73dbe4b
fix(qqbot): gate fallback approval buttons ( #87154 )
...
QQBot fallback approval buttons now reuse the same slash-command authorization path as real commands, including access groups and default-account config merging.
Verification:
- node scripts/test-extension.mjs qqbot
- node --max-old-space-size=8192 --import tsx scripts/generate-plugin-sdk-api-baseline.ts --check && git diff --check
- pnpm lint --threads=8
- node scripts/run-vitest.mjs src/agents/agent-command.live-model-switch.test.ts
- GitHub PR checks for 7cc0f15031 : passed
Thanks @eleqtrizit.
Co-authored-by: Agustin Rivera <agustin@rivera-web.com >
2026-05-27 08:44:55 +01:00
Peter Steinberger
e718d471f2
test(codex): mirror raw reasoning event order
2026-05-27 08:29:18 +01:00
Peter Steinberger
4314eadc79
fix(codex): keep raw assistant release path intact
2026-05-27 08:29:18 +01:00
Peter Steinberger
284098d2d8
fix(codex): preserve raw reasoning source-reply guard
2026-05-27 08:29:18 +01:00
Username
4d6bcf9f17
test(codex): verify completion idle watch arms after non-assistant rawResponseItem/completed
...
Regression test for the binary stall fix: when rawResponseItem/completed
arrives with a non-assistant type (e.g. "reasoning") and all tracked
items have completed, the completion idle watch must stay armed so the
stall is caught in 60s, not 30 minutes.
Refs openclaw/openclaw#87071
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-27 08:29:18 +01:00
Username
a36c82ba8b
fix(codex): arm completion idle watch after rawResponseItem/completed with no active items
...
When the codex binary emits rawResponseItem/completed and all tracked
items have completed (activeTurnItemIds empty, no active requests), the
binary should deliver turn/completed imminently. Previously, a
rawResponseItem/completed that didn't qualify as a post-tool assistant
completion would actively disarm the completion idle watch, leaving only
the 30-minute terminal timeout to catch a stalled binary. This caused
turns to hang for up to 30 minutes when the OpenAI Responses API fails
to deliver response.completed to the binary.
Now, rawResponseItem/completed with no active items arms the 60s
completion idle watch and is excluded from the disarm path, so stalled
binaries are detected in 60s instead of 30 minutes.
Refs openclaw/openclaw#87071
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-27 08:29:18 +01:00
Peter Steinberger
9ed1b02134
fix(discord): harden requester checks for guild actions
2026-05-27 08:22:25 +01:00
Javier Ailbirt
da822dd28b
fix(googlechat): suppress thread sends in DMs
...
Guard Google Chat DM delivery so direct-space messages that include thread metadata do not request threaded sends. The monitor now derives one group-only reply thread and reuses it for both turn reply context and typing indicator messages.
Adds regression coverage for a DM event carrying `message.thread.name`, proving reply metadata and typing sends omit the thread while the turn still runs.
Verification:
- `node scripts/run-vitest.mjs extensions/googlechat/src/monitor.test.ts`
- `pnpm check:changed` (Blacksmith Testbox `tbx_01ksm18yck1zy35k0adgf66hax`, run https://github.com/openclaw/openclaw/actions/runs/26494371192 )
- `/Users/steipete/Projects/agent-scripts/skills/autoreview/scripts/autoreview --mode local`
- PR CI run https://github.com/openclaw/openclaw/actions/runs/26494573295
- Critical Quality run https://github.com/openclaw/openclaw/actions/runs/26494573221
- Real behavior proof override run https://github.com/openclaw/openclaw/actions/runs/26494609491
Co-authored-by: Javier Ailbirt <jailbirt@theeye.io >
2026-05-27 07:28:09 +01:00
Pablo Guardiola
0c867eef75
feat: expose plugin approval action metadata
...
Expose plugin approval action metadata so plugins can describe richer approval actions across gateway, SDK, channel, and UI surfaces.
2026-05-26 22:46:09 -07:00
Peter Steinberger
b9f6abf5e8
fix: bind plugin command llm auth to host agent
2026-05-27 06:38:35 +01:00
Agustin Rivera
119d2359f3
fix(memory): reject prompt-like memory stores ( #87142 )
...
* fix(memory): reject prompt-like memory stores
* fix(changelog): mention memory store rejection
2026-05-26 21:37:29 -07:00
Agustin Rivera
e72621e566
fix(hooks): enforce default hook agent allowlist
...
Enforce hook allowedAgentIds against the effective default agent when hook payloads omit or blank agentId, while preserving omitted-agent dispatch semantics for default/global routing.
Also updates the affected generated hook config docs from the contributor change and fixes the current-main memory-core test mock after rebasing the PR branch.
Verification:
- pnpm format:check extensions/memory-core/src/dreaming.test.ts src/gateway/hooks.ts src/gateway/hooks.test.ts src/gateway/server/hooks-request-handler.ts src/gateway/server.hooks.test.ts && git diff --check
- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway-server.config.ts src/gateway/hooks.test.ts src/gateway/server.hooks.test.ts --reporter=dot --pool=forks --no-file-parallelism --testTimeout=120000
- node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.extensions.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions-test-local-pr87124.tsbuildinfo
- pnpm check:test-types
- .agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main
- GitHub PR merge state CLEAN; CodeQL Critical Quality rerun succeeded after first runner checkout wedged
Co-authored-by: Agustin Rivera <agustin@rivera-web.com >
2026-05-27 05:05:18 +01:00
Steady-ai
eb8f9b46da
fix(codex): avoid native compaction on budget triggers ( #86772 )
...
* fix(codex): avoid native compaction on budget triggers
* fix(codex): require manual trigger for native compaction
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-27 05:04:35 +01:00
Peter Steinberger
d2711c900d
perf(gateway): reuse prepared auth stores
2026-05-27 04:51:43 +01:00
Peter Steinberger
1ce363743a
test: speed up codex app server run attempts
2026-05-27 04:51:20 +01:00
Peter Steinberger
231a812276
build(codex): update Codex CLI to 0.134.0
2026-05-27 04:42:12 +01:00
Peter Steinberger
acbb06e266
test: harden e2e harness isolation
2026-05-26 23:20:42 -04:00
Peter Steinberger
145b57c734
perf(gateway): defer skipped-channel sidecars
2026-05-27 04:20:26 +01:00
Jason (Json)
13cfb77c10
fix: repair local approval resolution ( #86771 )
2026-05-26 19:56:30 -07:00
Peter Steinberger
0cfccdb0c7
fix(codex): keep WebChat delivery hints out of user requests
...
Land PR #87003 from @ragesaq with a maintainer fix for routed room events.
Co-authored-by: Forge <forge@psiclawops.dev >
2026-05-27 03:44:27 +01:00
Josh Lehman
9119492f15
fix: preserve plugin LLM command auth ( #85936 )
...
Merged via squash.
Prepared head SHA: e61c724708
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-05-26 22:41:52 -04:00
Peter Steinberger
df659d124d
refactor(telegram): encode conversation binding mode
2026-05-27 03:26:31 +01:00
Agustin Rivera
06047005ef
fix(browser): validate current tab before snapshots ( #78526 )
...
* fix(browser): validate current tab before snapshots
* fix(browser): reject snapshot selector before SSRF guard
* fix(test): stabilize plugin activation normalization
* fix(ci): fetch opengrep base history
* fix(snapshot): enforce snapshot ssrf policy
* docs(changelog): add unreleased entry for snapshot SSRF fix
* Revert "docs(changelog): add unreleased entry for snapshot SSRF fix"
This reverts commit 4f3031ff65 .
* fix(changelog): record snapshot ssrf entry
2026-05-26 19:11:01 -07:00
Vincent Koc
d7d037b46f
fix(codex): quarantine unsupported dynamic tool schemas
2026-05-27 04:02:07 +02:00
kesslerio
b8ea6d2aee
fix(telegram): route plugin-bound topic messages
2026-05-27 02:52:25 +01:00
Vincent Koc
dfadc7b704
fix(ollama): normalize greedy top_p ( #87049 )
2026-05-27 02:41:30 +01:00
Michael Appel
10546e57dd
clickclack: enforce inbound sender allowlist [AI] ( #83741 )
...
* fix: enforce clickclack sender allowlist
* addressing codex review
* test(clickclack): drop removed senderIsOwner from inbound test fixture
2026-05-26 18:41:12 -07:00
Shakker
c0f8224109
fix: resolve final codex mirror prompt
2026-05-27 02:38:58 +01:00
Shakker
2bd38da4b0
fix: mark final codex mirror user persistence
2026-05-27 02:38:58 +01:00
Shakker
c86214345f
fix: keep user turn enrichment off dispatch
2026-05-27 02:38:58 +01:00
Shakker
696fb41c5b
fix: restore user turn persistence checks
2026-05-27 02:38:58 +01:00
Shakker
44bdc521f7
refactor: carry prepared user turns on recorder
2026-05-27 02:38:58 +01:00
Shakker
ce465d4422
refactor: let recorder track runtime persistence pending
2026-05-27 02:38:58 +01:00
Shakker
51d3e363e3
fix: return persisted codex mirror user messages
2026-05-27 02:38:58 +01:00
Shakker
8caed9d66d
fix: honor transcript hooks in user turn fallbacks
2026-05-27 02:38:58 +01:00
Shakker
dc692aa6f6
perf: avoid duplicate transcript idempotency scans
2026-05-27 02:38:58 +01:00
Shakker
209eadcd2d
fix: notify codex prompt mirror persistence
2026-05-27 02:38:58 +01:00
Shakker
cf265732c7
fix: mirror prepared codex user turns
2026-05-27 02:38:58 +01:00
Agustin Rivera
42b8898e8e
fix(filefetch): wrap fetched text as external content ( #87062 )
...
* fix(filefetch): wrap fetched text as external content
* fix(release): add file transfer changelog entry
2026-05-26 18:29:48 -07:00
Zee Zheng
e9823023f4
fix(memory-core): close providers created during shutdown
...
Refactor memory close provider draining so providers created during shutdown are closed through the same bounded retry path.
Co-authored-by: spacegeologist <zheng.zuo0@gmail.com >
2026-05-27 02:22:05 +01:00
Peter Steinberger
2035f38ab2
perf: trim gateway runtime hotspots
2026-05-27 02:17:29 +01:00
Peter Steinberger
1dbd9a3154
fix(codex): avoid false queued terminal idle timeout ( #87096 )
2026-05-27 01:57:08 +01:00
Peter Steinberger
a43da0c8c5
perf: reduce gateway cpu churn
2026-05-27 01:52:27 +01:00
JanusAsmussen
84e62824f6
fix(anthropic): pass system prompt on resumed claude-cli sessions
...
Summary:
- send Claude CLI system prompt files on resumed turns when backend policy is always
- set Claude CLI default systemPromptWhen to always
- add argv/unit coverage plus live ALPHA-to-BRAVO resume proof for #80374
Verification:
- pnpm test src/agents/cli-runner/helpers.system-prompt-resume.test.ts extensions/anthropic/cli-shared.test.ts src/agents/cli-backends.test.ts test/scripts/test-live-shard.test.ts -- --reporter=verbose
- OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_USE_REAL_HOME=1 OPENCLAW_LIVE_CLI_BACKEND=true OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-haiku-4-5 node scripts/run-vitest.mjs run --config test/vitest/vitest.live.config.ts src/gateway/gateway-cli-backend.system-prompt-resume.live.test.ts --reporter=verbose
- /Users/steipete/Projects/agent-scripts/skills/autoreview/scripts/autoreview --mode local
- git diff --check
- gitcrawl gh pr checks 86433 --repo openclaw/openclaw --watch=false --required
Co-authored-by: JanusAsmussen <jjasmussen@outlook.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-27 01:31:13 +01:00
uday
0f18d52f16
fix(codex): raise dynamic tool timeout
2026-05-27 01:25:48 +01:00
Jason (Json)
ee655f4d94
fix: scrub serialized tool-call text from replies ( #86924 )
...
* fix: scrub serialized tool-call text from replies
* fix: consume xmlish tool parameters
2026-05-27 01:16:58 +01:00
Peter Steinberger
9cd1d27a89
fix(slack): fast-path wildcard open DM policy
2026-05-27 00:50:48 +01:00
Steven
bf8be79b88
fix(irc): use channel routes for group inbound targets
...
Fix IRC group inbound metadata so `To` uses the same `channel:#name` route shape as `From` and `OriginatingTo`.
This keeps IRC group message context consistent for reply/session routing metadata.
Verification:
- `git diff --check origin/main...FETCH_HEAD`
- `git merge-tree origin/main FETCH_HEAD`
- `node scripts/run-vitest.mjs extensions/irc/src/inbound.behavior.test.ts --run` (1 file / 4 tests passed)
- `gh pr checks 86721 --repo openclaw/openclaw --json name,state,link,bucket,workflow` (pass/skip only; no required checks reported)
2026-05-27 00:44:12 +01:00
Jason (Json)
532494b12a
Preserve xAI usage limit errors in local TUI ( #86614 )
...
* fix: preserve xai usage limit errors
* fix: classify actual xai credit errors
* fix: classify xai 429 billing exhaustion
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-27 00:43:55 +01:00