Commit Graph

40990 Commits

Author SHA1 Message Date
Val Alexander
b2efd19648 fix(ios): harden gateway pairing setup
Harden iOS gateway setup-code pairing by rejecting non-loopback plaintext ws:// setup URLs before bootstrap token issuance, consolidating iOS setup parsing, and adding QR scan support from Settings.

Verification:
- pnpm test extensions/device-pair/index.test.ts
- swift test --package-path apps/shared/OpenClawKit --filter DeepLinksSecurityTests
- XcodeBuildMCP OpenClawLogicTests/DeepLinkParserTests
- targeted SwiftLint for touched iOS/OpenClawKit files
- pnpm exec oxfmt --check --threads=1 extensions/device-pair/index.ts extensions/device-pair/index.test.ts
- git diff --check origin/main...HEAD
- GitHub PR checks green on 58e5e60a5c
2026-05-04 02:11:47 -05:00
Val Alexander
5fe8cde28f feat(ui): show active agent in dashboard header
Show the active agent name in the Control UI dashboard breadcrumb without adding the current session key/name.

Verification:
- pnpm test ui/src/ui/app-render.helpers.node.test.ts
- node scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.core.json ui/src/ui/components/dashboard-header.ts ui/src/ui/app-render.helpers.ts ui/src/ui/app-render.ts ui/src/ui/app-render.helpers.node.test.ts
- git diff --check
- Testbox pnpm check:changed
2026-05-04 02:09:52 -05:00
Vincent Koc
3c971255fa fix(auth): quiet codex oauth manual fallback 2026-05-04 00:07:13 -07:00
Peter Steinberger
826786b114 feat: add control UI responsiveness diagnostics 2026-05-04 08:04:18 +01:00
Vincent Koc
fbf9132b32 fix(web-fetch): late-bind runtime config 2026-05-04 00:02:52 -07:00
Dallin Romney
cdc00614cc fix(plugins): warn on source-only installed packages instead of blocking config 2026-05-03 23:59:20 -07:00
Vincent Koc
f4f98f45c7 fix(gateway): cancel post-ready maintenance on close
Fixes the post-ready maintenance shutdown race by marking close before gateway_stop hooks, clearing delayed timers, and suppressing already-fired maintenance work during shutdown.

Verification:
- pnpm test:serial src/gateway/server-runtime-services.test.ts src/gateway/server-import-boundary.test.ts
- pnpm exec oxfmt --check --threads=1 src/gateway/server.impl.ts src/gateway/server-import-boundary.test.ts src/gateway/server-runtime-services.ts src/gateway/server-runtime-services.test.ts
- git diff --check
- crabbox blacksmith-testbox tbx_01kqrw87d527jwcfxbp6qk1wc3: pnpm check:changed (exit 0)
2026-05-03 23:56:56 -07:00
Vincent Koc
8a8a12559d fix(discord): clear failed startup probe status 2026-05-03 23:54:58 -07:00
Vincent Koc
3f045d9129 fix(web-search): scope explicit provider runtime loading 2026-05-03 23:47:35 -07:00
Val Alexander
80acedaf0a docs(changelog): credit gateway install fix
Summary:
- Credit @BunsDev on the unreleased gateway install changelog entry.
- Keep the already-landed managed-service Node selection fix associated with #76339.

Verification:
- PR checks passed for head d9865b1b0c: preflight, check-docs, actionlint, no-tabs, security-scm-fast, security-dependency-audit, security-fast.
- Local scoped checks before force-update: pnpm check:changelog-attributions, git diff --check, pnpm exec oxfmt --check --threads=1 CHANGELOG.md.

Fixes #76339.
2026-05-04 01:45:31 -05:00
Peter Steinberger
31bba9ea22 docs(agents): require PR descriptions 2026-05-04 07:44:34 +01:00
Peter Steinberger
128cc2c84b refactor(web-tools): share runtime provider context 2026-05-04 07:44:34 +01:00
Peter Steinberger
605e89468e fix(discord): avoid blocking startup on probe (#77129)
* fix(discord): avoid blocking startup on probe

* fix(discord): clear degraded probe status

* test(plugin-sdk): isolate jiti loader override

* test(plugin-sdk): fix circular facade fixture path

* fix(plugins): preserve sdk aliases for native loads

* fix(plugins): route sdk alias loads through transform
2026-05-04 07:41:42 +01:00
Peter Steinberger
fa689295c6 fix: resolve small triage issues 2026-05-04 07:38:42 +01:00
Peter Steinberger
deffd11a43 fix: fork google meet agent context 2026-05-04 07:36:09 +01:00
Vincent Koc
f29aaa2e04 fix(release): resolve beta smoke workflow run 2026-05-03 23:35:04 -07:00
Peter Steinberger
86fc9e3279 perf: trim gateway startup plugin imports 2026-05-04 07:32:37 +01:00
Vincent Koc
3dcff3b267 fix(media): require HEIC conversion fallback 2026-05-03 23:30:38 -07:00
Peter Steinberger
d8da04e58e chore: improve beta smoke release tooling 2026-05-04 07:28:57 +01:00
Zander
8412b189df ui(chat): remove unsupported line-clamp declaration
Remove the unsupported unprefixed line-clamp CSS declaration from the chat queue text rule while keeping the existing -webkit-line-clamp truncation behavior.\n\nValidation:\n- git diff --check origin/main...HEAD\n- pnpm exec oxfmt --check --threads=1 CHANGELOG.md ui/src/styles/components.css\n- pnpm check:changelog-attributions\n- Testbox: OPENCLAW_TESTBOX=1 pnpm check:changed\n\nCI note: exact-SHA CI failed in unrelated plugin loader/plugin SDK jobs outside this PR's touched files.
2026-05-04 01:28:14 -05:00
Vincent Koc
92d33e4de8 fix(agents): sanitize presentation reasoning 2026-05-03 23:20:22 -07:00
Joey Krug
bbdf1fe11c docs(changelog): credit brave web search fix 2026-05-04 07:18:10 +01:00
Joey Krug
ab24e93573 fix(web-search): preserve runtime auto-detect fallback 2026-05-04 07:18:10 +01:00
Joey Krug
c76d8f5a7c fix(web-search): keep first-class web_search runtime providers visible
When createWebSearchTool is wired with lateBindRuntimeConfig: true, the
first-class assistant tool now lives off whatever runtime is active at
execute time. That works in the gateway process where runtime metadata
and the active secrets snapshot are populated, but in agent contexts that
do not share that in-process state, both fall through to undefined and
the tool returned "web_search is disabled or no provider is available"
even though `openclaw capability web search` and direct provider runtime
execution succeeded.

Two fixes:

- src/agents/tools/web-search.ts: when late-binding, fall back to
  options.runtimeWebSearch when the active runtime web tools metadata is
  null, and fall back to options.config when getActiveSecretsRuntimeSnapshot
  is null. Derive a configured provider id from
  config.tools.web.search.provider and use it together with the runtime
  selection when deciding preferRuntimeProviders, so an explicit Brave/
  Perplexity selection still discovers the configured plugin even when
  no runtime provider id is bound.
- src/plugins/web-provider-runtime-shared.ts: the active gateway plugin
  registry may be otherwise compatible with the active config while
  contributing zero web providers (channels, memory, harnesses, and
  sidecars without Brave/web). Treating that empty active registry as
  authoritative meant first-class tools resolved to "no provider".
  Fall through to the scoped provider plugin load when the active
  registry returns no providers. Explicit `onlyPluginIds: []` still
  short-circuits to [] to preserve the empty-scope contract.

Adds regression tests for both seams.
2026-05-04 07:18:10 +01:00
Peter Steinberger
70850d15ee docs: document google meet elevenlabs voice setup 2026-05-04 07:16:48 +01:00
Peter Steinberger
02f455fda3 perf: reduce gateway startup import graph 2026-05-04 07:15:38 +01:00
Vincent Koc
51e847fb96 fix(telegram): preserve safe progress previews 2026-05-03 23:10:08 -07:00
Vincent Koc
0907c60dd7 fix(plugins): preserve native loader errors 2026-05-03 23:09:12 -07:00
Vincent Koc
3c4f67141d docs(changelog): credit @davemorin for TUI stale-response notice fix
#77120 added user-facing TUI copy that replaces the stale-response
watchdog notice with plain language, but the entry landed without
contributor attribution. Add the merging PR ref and credit the human
contributor @davemorin per CLAUDE.md changelog-attribution rules.
2026-05-03 23:08:47 -07:00
Val Alexander
21ac476904 fix(telegram): stabilize reply dispatch runtime
Summary:
- Add a stable provider-dispatcher dist entry and legacy alias coverage for stale reply-dispatch chunks.
- Make Telegram reasoning stream previews transient after final delivery and harden visible-send reasoning sanitization.
- Document transient /reasoning stream behavior and credit @BunsDev in the changelog.

Verification:
- pnpm test src/agents/tools/message-tool.test.ts src/infra/tsdown-config.test.ts test/scripts/runtime-postbuild.test.ts extensions/telegram/src/bot-message-dispatch.test.ts src/plugin-sdk/channel-streaming.test.ts src/plugin-sdk/channel-entry-contract.test.ts
- OPENCLAW_VITEST_MAX_WORKERS=1 pnpm test src/channels/plugins/module-loader.test.ts src/plugin-sdk/channel-entry-contract.test.ts
- pnpm exec oxfmt --check --threads=1 <changed files>
- git diff --check
- pnpm build
- GitHub PR checks for b8b7a91834
2026-05-04 01:07:57 -05:00
Vincent Koc
7050af56d4 fix(voice-call): bound realtime audio pacing 2026-05-03 22:58:28 -07:00
Paul Frederiksen
83037720d9 test: force channel loader jiti fallback path 2026-05-04 06:56:35 +01:00
Peter Steinberger
eeff1f7cb6 test: satisfy jiti mock type contracts 2026-05-04 06:56:35 +01:00
Peter Steinberger
ea04e019ac test: restore jiti override seams for loader tests 2026-05-04 06:56:35 +01:00
Peter Steinberger
38d6b43792 docs: add media fallback changelog (#77117) (thanks @pfrederiksen) 2026-05-04 06:56:35 +01:00
Paul Frederiksen
ac09ec00e8 fix(media): tolerate missing image optimizer for in-limit images 2026-05-04 06:56:35 +01:00
Vincent Koc
361737d1f1 fix(tts): honor telephony voice overrides 2026-05-03 22:52:18 -07:00
Peter Steinberger
a224810a7f fix(gateway): bound sessions list responses
Bound default Gateway sessions.list responses to 100 rows when callers omit limit, with response metadata for totalCount, limitApplied, and hasMore.\n\nFixes #77062.
2026-05-04 06:51:56 +01:00
Dave Morin
1df6226d90 TUI: simplify stale response notice (#77120) 2026-05-03 22:50:24 -07:00
Peter Steinberger
a9d77b3eb0 fix: scope Control UI assistant media tickets 2026-05-04 06:49:28 +01:00
Peter Steinberger
bc0b54e844 fix: keep gateway shutdown runtime stable across updates 2026-05-04 06:46:45 +01:00
Vincent Koc
4c68bfdb6c ci(release): filter QA live lanes 2026-05-03 22:44:59 -07:00
Vincent Koc
b6f9b5f21e fix(agents): keep grouped subagent completions 2026-05-03 22:41:34 -07:00
Peter Steinberger
cbd91676ac fix: log google meet agent tts backend 2026-05-04 06:41:22 +01:00
Vincent Koc
47134d1ce6 Merge branch 'main' of https://github.com/openclaw/openclaw
* 'main' of https://github.com/openclaw/openclaw:
  docs(changelog): credit subagent announce fix
  fix(slack): keep newest rich progress lines
  fix(agents): preserve full subagent announce output
  ci: preserve Windows Testbox phone-home POST
  fix(agents): suppress mid-turn continuation prompts
2026-05-03 22:38:35 -07:00
Vincent Koc
5ab18100e2 docs(changelog): credit subagent announce fix 2026-05-03 22:37:16 -07:00
Vincent Koc
ccb94a6282 fix(slack): keep newest rich progress lines 2026-05-03 22:33:43 -07:00
Vincent Koc
e80de466e5 fix(agents): preserve full subagent announce output
* fix(agents): preserve full subagent announce output

* fix(agents): tighten subagent prefix fallback

* fix(agents): broaden subagent prefix fallback
2026-05-03 22:33:00 -07:00
Vincent Koc
8f75a4ebdf ci: preserve Windows Testbox phone-home POST 2026-05-03 22:29:29 -07:00
Vincent Koc
36bab71abc ci: preserve Windows Testbox phone-home POST 2026-05-03 22:28:30 -07:00