Gio Della-Libera
2d3fa4832f
feat(doctor): expose UI freshness health findings
...
Expose UI freshness doctor findings through the structured health contribution path so lint JSON and dry-run repair output include stale UI asset guidance.
Keep legacy positional repair filtering stable while excluding health checks that already own their structured repair output. Maintainer fixups also avoid stale UI warnings when git history cannot prove changed sources, and make the foreground timeout regression test deterministic.
Verification:
- Local: `git diff --check origin/main...HEAD`
- Local: `node_modules/.bin/oxfmt --check --threads=1 src/agents/bash-tools.exec-foreground-failures.test.ts src/commands/doctor-ui.test.ts src/commands/doctor-ui.ts src/flows/doctor-core-checks.ts src/flows/doctor-health-contributions.test.ts src/flows/doctor-health-contributions.ts src/flows/doctor-health-conversion-plan.ts`
- Local: `node_modules/.bin/oxlint --tsconfig config/tsconfig/oxlint.core.json src/agents/bash-tools.exec-foreground-failures.test.ts src/commands/doctor-ui.test.ts src/commands/doctor-ui.ts src/flows/doctor-core-checks.ts src/flows/doctor-health-contributions.test.ts src/flows/doctor-health-contributions.ts src/flows/doctor-health-conversion-plan.ts`
- Local: `node scripts/run-vitest.mjs src/commands/doctor-ui.test.ts src/flows/doctor-health-contributions.test.ts src/commands/doctor-lint.test.ts src/agents/bash-tools.exec-foreground-failures.test.ts --reporter=dot --pool=forks --testTimeout=30000 --hookTimeout=30000`
- Local: `GOMAXPROCS=4 node scripts/run-tsgo.mjs -p tsconfig.core.json --noEmit --incremental false --pretty false`
- Local: `GOMAXPROCS=4 node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.core.test.json --noEmit --incremental false --pretty false`
- Local: `GOMAXPROCS=4 node scripts/run-tsgo.mjs -p tsconfig.extensions.json --noEmit --incremental false --pretty false`
- Autoreview: `.agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main`
- GitHub Actions: CI `26708647282`, Real behavior proof `26708646476`, CodeQL `26708647258`, CodeQL Critical Quality `26708647230`, OpenGrep PR Diff `26708647214`, Workflow Sanity `26708647232`, Dependency Guard `26708646489`, ClawSweeper Dispatch `26708646475`, Labeler `26708646480`
Co-authored-by: Gio Della-Libera <giodl73@gmail.com >
2026-05-31 10:20:12 +01:00
Peter Steinberger
7606e1dd3d
docs: expand MCP operator guide
2026-05-31 10:12:44 +01:00
github-actions[bot]
ef7854abbc
chore(ui): refresh fa control ui locale
2026-05-31 09:12:28 +00:00
github-actions[bot]
53e063962d
chore(ui): refresh nl control ui locale
2026-05-31 09:12:16 +00:00
github-actions[bot]
cef86c1748
chore(ui): refresh vi control ui locale
2026-05-31 09:11:52 +00:00
github-actions[bot]
ee39aa84b2
chore(ui): refresh pl control ui locale
2026-05-31 09:11:49 +00:00
github-actions[bot]
e93e2a0f18
chore(ui): refresh th control ui locale
2026-05-31 09:11:42 +00:00
github-actions[bot]
fce45a2178
chore(ui): refresh id control ui locale
2026-05-31 09:11:33 +00:00
github-actions[bot]
2a58d92655
chore(ui): refresh uk control ui locale
2026-05-31 09:10:59 +00:00
github-actions[bot]
b335018c3c
chore(ui): refresh tr control ui locale
2026-05-31 09:10:54 +00:00
github-actions[bot]
80294a4f6b
chore(ui): refresh ar control ui locale
2026-05-31 09:10:48 +00:00
github-actions[bot]
20ab73e7d4
chore(ui): refresh it control ui locale
2026-05-31 09:10:43 +00:00
github-actions[bot]
a041e393c1
chore(ui): refresh fr control ui locale
2026-05-31 09:10:15 +00:00
github-actions[bot]
2e0d191725
chore(ui): refresh ko control ui locale
2026-05-31 09:10:13 +00:00
github-actions[bot]
ec949a856e
chore(ui): refresh ja-JP control ui locale
2026-05-31 09:10:03 +00:00
github-actions[bot]
0b9193c0b7
chore(ui): refresh es control ui locale
2026-05-31 09:09:55 +00:00
github-actions[bot]
aa56f592bb
chore(ui): refresh pt-BR control ui locale
2026-05-31 09:09:24 +00:00
github-actions[bot]
10b4057c36
chore(ui): refresh zh-TW control ui locale
2026-05-31 09:09:22 +00:00
github-actions[bot]
ecef6ae626
chore(ui): refresh zh-CN control ui locale
2026-05-31 09:09:18 +00:00
github-actions[bot]
f456114b12
chore(ui): refresh de control ui locale
2026-05-31 09:09:13 +00:00
Peter Steinberger
617c658498
feat: improve MCP operator controls ( #88536 )
...
* feat: improve MCP operator controls
* test: stabilize draft stream loop background errors
* fix: prune empty MCP server enablement stubs
* fix: ignore disabled MCP overrides in doctor
* fix: keep MCP doctor saved-config warnings
* fix: redact malformed MCP URLs in UI
* fix: harden MCP UI command actions
* fix: allow MCP logout after auth removal
2026-05-31 10:06:55 +01:00
Peter Steinberger
3258338ec8
chore(lint): clean sms lint fallout
2026-05-31 10:04:48 +01:00
Peter Steinberger
3a4943ef87
fix(ci): repair sms channel checks
2026-05-31 05:02:18 -04:00
Vincent Koc
84b025eb62
fix(e2e): make plugin sweep wrappers executable
2026-05-31 10:42:50 +02:00
Jason O'Neal
a776de25e8
fix(auto-reply): redact secrets in config show output ( #88496 )
...
* fix(auto-reply): redact config show secrets
* fix(auto-reply): use schema redaction for config show
* fix(auto-reply): redact config set acknowledgements
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-31 09:36:24 +01:00
Peter Steinberger
b4aaca3365
fix(ci): repair copilot sdk drift
2026-05-31 04:34:54 -04:00
Peter Steinberger
f5eca3f84c
chore(lint): enable object and reassignment rules
2026-05-31 09:32:52 +01:00
Peter Steinberger
ea11b8ad3d
docs: expand SMS channel setup guide
2026-05-31 09:31:00 +01:00
Peter Steinberger
d4f78c9339
ci: harden Crabbox Testbox runs
2026-05-31 09:29:56 +01:00
Zee Zheng
15ae2deb30
fix(webchat): preserve refresh-visible history and composer state ( #83992 )
...
WebChat now stores/restores composer draft and queued sends across refresh, scoped by gateway/session/agent. It skips in-flight/steered sends, restores after agent scope hydration, waits for fresh idle session proof before draining restored sends, and backfills visible chat history when the raw tail contains silent/context entries.
Refs #83344
Co-authored-by: Zee Zheng <zheng.zuo0@gmail.com >
2026-05-31 09:23:58 +01:00
Vincent Koc
e6ce83487c
fix(check): restore core typecheck
2026-05-31 10:23:33 +02:00
Peter Steinberger
3513e8bfd9
feat: add Twilio SMS channel
...
Add a bundled SMS channel backed by Twilio inbound webhooks and outbound text delivery.
Includes signed webhook validation, pairing/allowlist access, Messaging Service sender support, chunked plain-text SMS delivery, default target support, docs, config metadata, labeler updates, and focused SMS coverage.
Verification:
- pnpm exec tsgo -p extensions/sms/tsconfig.json --noEmit
- OPENCLAW_VITEST_FS_MODULE_CACHE_PATH=/tmp/openclaw-vitest-sms-land-fix2 node scripts/run-vitest.mjs extensions/sms/src/phone.test.ts extensions/sms/src/accounts.test.ts extensions/sms/src/twilio.test.ts extensions/sms/src/inbound.test.ts extensions/sms/src/gateway.test.ts extensions/sms/src/channel.test.ts extensions/sms/src/send.test.ts extensions/sms/src/webhook.test.ts --reporter=verbose
- pnpm config:channels:check
- pnpm plugins:inventory:check
- git diff --check
- .agents/skills/autoreview/scripts/autoreview --mode local
- .agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main
2026-05-31 09:22:31 +01:00
Andy Ye
0f1767a26a
fix(telegram): support media message edits
...
Fixes #86161 .
Route Telegram media-message edits through the Telegram caption/reply-markup APIs instead of always calling `editMessageText`. Button-only edits now update reply markup, explicit captions use `editMessageCaption`, and text edits can fall back to caption edits when Telegram reports the message has no editable text.
Also documents the edit behavior, adds regression coverage, tightens timer-spy cleanup for the affected agents test lane, and removes a stale loader helper from the current base that broke core typecheck.
Co-authored-by: Andy Ye <35905412+TurboTheTurtle@users.noreply.github.com >
2026-05-31 09:22:20 +01:00
Peter Steinberger
63a95930ca
chore: remove stale unsafe assertion suppressions
2026-05-31 09:11:28 +01:00
Peter Steinberger
b81adc6202
fix(ci): keep unsafe assertion lint disabled
2026-05-31 04:09:48 -04:00
Peter Steinberger
0ac725278d
Revert "fix(ci): annotate unsafe boundary casts"
...
This reverts commit 8a40f90f62 .
2026-05-31 04:09:48 -04:00
Peter Steinberger
4471335d26
Revert "fix(ci): clean core unsafe assertions"
...
This reverts commit 88203c9b10 .
2026-05-31 04:09:48 -04:00
Peter Steinberger
b78dd6a9ca
test: remove channel test isolation hack
...
Remove isolate: true from the channel Vitest config and fix the leaking fake-timer/mock tests so the lane runs under the shared non-isolated runner. Verified with focused scoped-config/channel tests, the full channel Vitest config, git diff --check, and branch-mode autoreview.
2026-05-31 09:09:10 +01:00
Frank Yang
15c1511817
fix(agents): clear stale compaction bindings
2026-05-31 13:38:52 +05:30
Frank Yang
5e1e029d91
fix(agents): skip below-target CLI compaction failures
2026-05-31 13:38:52 +05:30
Peter Steinberger
48ccc50282
chore: update dependencies
2026-05-31 09:07:53 +01:00
Shakker
5a8bb1a7d2
docs: add Skill Workshop guide
2026-05-31 09:05:03 +01:00
Peter Steinberger
e1ad5f5170
docs: remove divider comments ( #88115 )
2026-05-31 09:03:18 +01:00
Peter Steinberger
88203c9b10
fix(ci): clean core unsafe assertions
2026-05-31 03:58:58 -04:00
Steven
b48c72cd19
fix(discord): deliver same-session channel replies
...
Deliver same-session channel replies directly while preserving stale-reply guards.
The fix bypasses the announce decider only when the requester and target are the same source channel, carries reply baselines into fire-and-forget follow-up delivery, and keeps history reads best-effort so timeout-zero sends still dispatch. It also includes focused regression coverage for delayed same-session replies, stale snapshots, retry timer caps, and the current strict-null/package-boundary blockers fixed while preparing the PR.
2026-05-31 08:52:01 +01:00
Peter Steinberger
8a40f90f62
fix(ci): annotate unsafe boundary casts
2026-05-31 03:51:18 -04:00
Peter Steinberger
ae651e7210
docs: add permission modes page
2026-05-31 08:47:02 +01:00
Peter Steinberger
4d95ae39d4
fix(ci): repair extension type drift
2026-05-31 03:40:32 -04:00
Peter Steinberger
e6782254e4
perf: avoid blocking gateway bind on control ui build
2026-05-31 08:36:30 +01:00
Peter Steinberger
59694e86d9
chore(lint): enable structured clone rules
2026-05-31 08:34:28 +01:00