Commit Graph

54033 Commits

Author SHA1 Message Date
Peter Steinberger
8a04851fa0 fix: localize workboard disabled state 2026-05-29 11:04:37 +01:00
Peter Steinberger
86ed25af34 feat: add workboard dashboard plugin 2026-05-29 11:04:37 +01:00
Peter Steinberger
ed62aefeee refactor(gateway): centralize handshake timeout parsing 2026-05-29 05:56:21 -04:00
Vincent Koc
7708e8c7ef refactor: share qqbot media path decoding 2026-05-29 11:53:33 +02:00
Peter Steinberger
82a16d2fee fix: alias net policy in plugin loader 2026-05-29 10:47:27 +01:00
Peter Steinberger
656c238295 fix(telegram): ignore unsafe cached message ids 2026-05-29 05:44:15 -04:00
Peter Steinberger
e890d7ea4f fix(telegram): reject unsafe topic targets 2026-05-29 05:39:57 -04:00
Peter Steinberger
7d76e54f2b fix: honor cron backoff from run end 2026-05-29 05:36:50 -04:00
Peter Steinberger
8ac0c35462 fix(prompts): reject unsafe template indexes 2026-05-29 05:36:15 -04:00
Vincent Koc
49807ac1f1 refactor: share plugin http dispatch helpers 2026-05-29 11:32:14 +02:00
Peter Steinberger
0b84d8b521 ci: refresh live gateway release lanes 2026-05-29 10:30:23 +01:00
Peter Steinberger
75c011b606 fix(subagents): ignore unsafe log limits 2026-05-29 05:29:50 -04:00
Vincent Koc
c7127c7c34 test(doctor): satisfy legacy migration lint 2026-05-29 11:28:32 +02:00
拐爷&&老拐瘦
f634062f35 fix(cron): quarantine malformed persisted jobs
Quarantine malformed persisted cron rows before sanitizing active jobs.json.
Preserve raw malformed rows plus split runtime metadata in jobs-quarantine.json so later cron writes cannot silently delete recoverable data.
Doctor now reports quarantine sidecars for manual review.

Closes #51871.
Thanks @yfge.

Verification:
- pnpm test src/cron/service/store.test.ts src/cron/service/store.load-missing-session-target.test.ts src/cron/store.test.ts src/commands/doctor-cron-store-migration.test.ts src/commands/doctor-cron.test.ts ui/src/ui/controllers/cron-filters.test.ts ui/src/ui/controllers/cron.test.ts ui/src/ui/app-render.helpers.node.test.ts ui/src/ui/app-settings.refresh-active-tab.node.test.ts
- node scripts/run-tsgo.mjs -p tsconfig.core.json --files src/cron/store.ts src/cron/service/store.ts src/cron/service/state.ts src/commands/doctor-cron.ts && node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.core.test.json --files src/cron/store.test.ts src/cron/service/store.test.ts src/cron/service/store.load-missing-session-target.test.ts src/commands/doctor-cron.test.ts src/commands/doctor-cron-store-migration.test.ts
- node scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.core.json src/cron/store.ts src/cron/service/store.ts src/cron/service/state.ts src/commands/doctor-cron.ts src/cron/store.test.ts src/cron/service/store.test.ts src/cron/service/store.load-missing-session-target.test.ts src/commands/doctor-cron.test.ts src/commands/doctor-cron-store-migration.test.ts
- git diff --check
- pnpm docs:list
- autoreview clean: no accepted/actionable findings reported
- GitHub CI: cron, doctor, docs, lint/type/build/security/quality, real behavior proof, and Windows rerun green; checks-node-agentic-agents remains red on current PR and recent main with unrelated pre-existing module/mock failures outside touched files.

Co-authored-by: yfge <geyunfei@gmail.com>
2026-05-29 10:27:45 +01:00
Peter Steinberger
c3e02d9fd4 fix(models): ignore unsafe page tokens 2026-05-29 05:22:55 -04:00
Peter Steinberger
837d6a13a2 test(release): refresh plugin sdk api baseline 2026-05-29 10:20:09 +01:00
Peter Steinberger
57a3dbe736 perf: avoid jiti for built plugin startup paths 2026-05-29 10:17:43 +01:00
Peter Steinberger
97afdc144d fix(file-transfer): validate node fetch byte limits 2026-05-29 05:15:56 -04:00
Vincent Koc
9bf48660b3 fix(ci): keep Windows Crabbox hydrate fetch alive 2026-05-29 11:12:22 +02:00
Vincent Koc
966c274f20 refactor: share browser snapshot helpers 2026-05-29 11:11:46 +02:00
Peter Steinberger
173a21f557 fix: refresh npm shrinkwrap after net policy split 2026-05-29 10:11:29 +01:00
兰之
6950e85605 fix(agents): allow hyphenated subagent task names
Allow `sessions_spawn.taskName` to accept lowercase hyphenated task slugs while keeping the existing underscore support and invalid-name rejection. Update the tool schema, system prompt wording, docs, focused tests, and generated prompt snapshots so the user/model-facing contract matches the validator.

Verification:
- `pnpm prompt:snapshots:check`
- `node scripts/run-vitest.mjs src/agents/tools/sessions-spawn-tool.test.ts src/agents/system-prompt.test.ts`
- Real behavior proof gate: https://github.com/openclaw/openclaw/actions/runs/26628449324/job/78470916945
- PR CI: https://github.com/openclaw/openclaw/actions/runs/26628441940, with failures matching current `main` at https://github.com/openclaw/openclaw/actions/runs/26628128225

Co-authored-by: chenhaoqiang <chenhaoqiang@xiaomi.com>
Co-authored-by: Lanzhi <lizhan3@xiaomi.com>
2026-05-29 10:10:12 +01:00
兰之
30c1ca5c7b fix: match slash commands case-insensitively
Match text slash command names case-insensitively across the reset/new fallback paths and the shared registry/control detection contract while preserving command argument casing.

Add regression coverage for uppercase and mixed-case reset/new commands plus registered non-reset commands such as `/STATUS`, `/Model`, `/T`, and `/COMPACT`.

Co-authored-by: zhangtong26 <zhangtong26@xiaomi.com>
Co-authored-by: Lanzhi <lizhan3@xiaomi.com>
2026-05-29 10:06:53 +01:00
Peter Steinberger
274a8116af fix(session): reject unsafe lifecycle durations 2026-05-29 05:06:26 -04:00
Peter Steinberger
5871d118ad fix: restore package CI after net policy split 2026-05-29 10:04:57 +01:00
Peter Steinberger
c951867a21 test(release): satisfy doctor migration lint 2026-05-29 10:04:42 +01:00
litang9
18f9310844 fix(gateway): clear stale chat stream buffers (#75089)
Merged via squash.

Prepared head SHA: 05ca0e30ac

Verification:
- gh pr checks 75089 --required --watch --fail-fast: dependency-guard passed.
- node scripts/run-vitest.mjs src/gateway/chat-abort.test.ts src/gateway/server-maintenance.test.ts src/gateway/server-close.test.ts src/gateway/server-methods/models-auth-status.test.ts src/gateway/server-methods/chat.abort-authorization.test.ts: 9 files, 136 tests passed on the rebased clean head.
- pnpm build and pnpm check passed after the rebase.
- Local live-style Gateway WebSocket RPC proof passed with a mock OpenAI Responses SSE provider.

Co-authored-by: litang9 <tangli1987118@hotmail.com>
Co-authored-by: osolmaz <2453968+osolmaz@users.noreply.github.com>
Reviewed-by: @osolmaz
2026-05-29 17:01:42 +08:00
Peter Steinberger
d506e9e666 fix(subagents): keep numeric log targets from shrinking history 2026-05-29 05:00:18 -04:00
Vincent Koc
9e002c12ac fix(video): bound generated video downloads 2026-05-29 11:00:06 +02:00
Vincent Koc
bee163bf37 refactor: share chrome cdp websocket diagnostics 2026-05-29 10:57:12 +02:00
Peter Steinberger
5fce8cef1e refactor(qa-lab): share guarded config merge patches 2026-05-29 04:54:42 -04:00
兰之
b620c58e65 fix: remove telegram-only reasoning stream copy
Remove stale Telegram-only wording from the reasoning stream acknowledgement and docs so channel-neutral behavior is reflected.

Fixes #68305.

Co-authored-by: Lanzhi <lizhan3@xiaomi.com>
2026-05-29 09:54:37 +01:00
Peter Steinberger
2e015ab124 test(release): fix beta live release checks 2026-05-29 09:54:00 +01:00
Rajvardhan Patil
5518ac998f fix(agents): add CLI turn output digests
Adds content-safe output fingerprints to CLI backend turn logs so repeated byte-identical responses can be detected from gateway logs without exposing response text.

Covers Claude live-session turns, synthetic cron before_agent_reply short-circuits, and ordinary CLI subprocess turns with shared outBytes/outHash fields.

Verification:
- pnpm test src/agents/cli-runner.spawn.test.ts src/agents/cli-runner.before-agent-reply-cron.test.ts -- --reporter=verbose
- pnpm check:changed (Blacksmith Testbox tbx_01kssdqes22wqhas0v7h339zr7)
- .agents/skills/autoreview/scripts/autoreview --mode local
- .agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main
- GitHub PR checks passed for e130c1acbf

Fixes #81004

Co-authored-by: Rajvardhan Patil <raj@Rajvardhans-MacBook-Air.local>
2026-05-29 09:50:56 +01:00
Vincent Koc
850f7c24d4 refactor: share browser basic route helpers 2026-05-29 10:45:55 +02:00
Zee Zheng
17907bc2cd fix(clawdock): load compose override file
Load `docker-compose.override.yml` when ClawDock builds its explicit Docker Compose file list, preserving standard Compose override behavior while keeping `docker-compose.extra.yml` as the final OpenClaw overlay.

Update Docker docs so manual Compose users include the same override order, and keep the regression test for the generated `_clawdock_compose` arguments.

Fixes #49909.
Thanks @spacegeologist.

Co-authored-by: zhengzuo0-ai <zheng.zuo0@gmail.com>
2026-05-29 09:45:35 +01:00
Peter Steinberger
25b3c8ef71 refactor: remove old net policy sources 2026-05-29 09:45:14 +01:00
Peter Steinberger
f4c6c0aec4 refactor: extract net policy package 2026-05-29 09:45:14 +01:00
Peter Steinberger
03ac6e3171 fix(qa-lab): ignore prototype keys in patch checks 2026-05-29 04:44:37 -04:00
Phil
00ca654c74 fix(plugins): persist resolved npm install specs
Preserve npm install selectors while recording resolved npm provenance for plugin and hook install/update records. Active `record.spec` stays the requested selector unless explicitly pinned, while resolved npm fields remain available for audit and diagnostics.

Adds focused coverage for hook-pack npm fallback provenance after the maintainer review found that path worth pinning down.

Co-authored-by: Phil <99397913+GitHoubi@users.noreply.github.com>
2026-05-29 09:42:46 +01:00
tanshanshan
8201e851ca feat(zalouser): forward data.quote metadata into agent context
Forward Zalo quote-reply metadata from zca-js data.quote into the existing ReplyToId, ReplyToBody, and ReplyToIsQuote context keys so agents can correlate quoted replies with prior bot messages.

Adds parser and monitor regression coverage for quote extraction and context projection.

Fixes #86851.
Thanks @tanshanshan.
2026-05-29 09:42:39 +01:00
Peter Steinberger
e144d1c8d9 fix(oc-path): reject noncanonical array indexes 2026-05-29 04:37:41 -04:00
Chunyue Wang
fb6f2c61bf fix(auto-reply): deliver compact replies in room events
Restore visible terminal command replies for explicit command turns that are otherwise source-suppressed in room-event/message-tool-only delivery. Also keep compaction notifyUser notices independent from internal callbacks while preserving hook-message de-duplication.

Fixes #87107

Verification:
- git diff --check origin/main...HEAD
- node scripts/run-vitest.mjs src/auto-reply/reply/dispatch-from-config.test.ts src/auto-reply/reply/get-reply-inline-actions.skip-when-config-empty.test.ts src/auto-reply/reply/agent-runner-execution.test.ts
- GitHub required check dependency-guard passed on d3aaad90fc
- Relevant GitHub auto-reply/build/lint/type/security checks passed on d3aaad90fc

Co-authored-by: openperf <16864032@qq.com>
2026-05-29 09:35:19 +01:00
Peter Steinberger
def11c0978 fix(plugins): bound config contract array indexes 2026-05-29 04:29:14 -04:00
Vincent Koc
628104662b refactor: share browser client request helpers 2026-05-29 10:26:44 +02:00
Peter Steinberger
d4a17477b0 fix(schema): reject noncanonical array refs 2026-05-29 04:25:10 -04:00
Peter Steinberger
b78ebacb18 refactor: centralize plugin model discovery 2026-05-29 09:24:08 +01:00
Jayesh Betala
189a7962b2 fix(cli): reject empty config path segments
Reject malformed dot-notation config paths before `openclaw config get/set/unset` reads or mutates config. Empty, leading, trailing, whitespace-only, and dot-before-bracket segments now fail closed instead of normalizing to a different key, while valid bracket paths and escaped dots continue to work.

Thanks @jbetala7 for the fix.

Verification:
- `git diff --check`
- `node scripts/run-vitest.mjs run src/cli/config-cli.test.ts` (111 passed)
- GitHub exact-head checks on `116254ba414bff6a0c3881e34fad30baca95ef0a`: 76 success, 23 skipped, 1 neutral, 0 failures

Fixes #87564

Co-authored-by: Jayesh Betala <jayesh.betala7@gmail.com>
2026-05-29 09:23:32 +01:00
UB
d18ee1881c fix(discord): remove optional runtime error shims
Remove unreachable optional chaining from four Discord message-handler-family runtime error calls.

This aligns the code with the required RuntimeEnv.error contract while leaving production behavior unchanged for valid runtimes. Maintainer-updated PR proof clarifies that shared queue reporter hooks still treat malformed runtime reporter failures as best-effort.
2026-05-29 09:22:44 +01:00
Peter Steinberger
5ff0c75da7 fix(config): preserve large numeric schema keys 2026-05-29 04:20:42 -04:00