Commit Graph

41220 Commits

Author SHA1 Message Date
Peter Steinberger
41257a5f6f fix(plugins): rename bundled allowlist discovery policy 2026-05-04 23:50:03 +01:00
Peter Steinberger
76e0bcd2de test(plugins): type bundled public artifact mock 2026-05-04 23:50:03 +01:00
Peter Steinberger
3ed569ac3c fix(plugins): respect allowlist for web provider fallback 2026-05-04 23:50:03 +01:00
dougbtv
f738663c79 fix(plugins): add bundledMode to gate runtime provider discovery by allowlist
When plugins.bundledMode is set to "respect-allow", runtime provider
discovery paths honor plugins.allow for bundled plugins instead of
force-loading all providers. Default "compat" preserves existing behavior.

Closes #75575
2026-05-04 23:50:03 +01:00
dougbtv
81035e651b fix(config): register bundledMode in zod schema and help text
Addresses review feedback: adds bundledMode to the strict plugins zod
object so the config option passes validation, and adds schema.help
documentation for the field.
2026-05-04 23:50:03 +01:00
Vincent Koc
eef623671e Merge branch 'main' of https://github.com/openclaw/openclaw
* 'main' of https://github.com/openclaw/openclaw:
  test(doctor): mock bundled channel ids
  fix(gateway): route watch trace spam to artifacts
2026-05-04 15:42:51 -07:00
Vincent Koc
68d4921392 test(doctor): mock bundled channel ids 2026-05-04 15:41:43 -07:00
Peter Steinberger
a167acee67 fix(gateway): route watch trace spam to artifacts 2026-05-04 23:41:14 +01:00
Vincent Koc
5658332fa7 Merge branch 'main' of https://github.com/openclaw/openclaw
* 'main' of https://github.com/openclaw/openclaw:
  fix: repair release validation checks
2026-05-04 15:40:17 -07:00
Vincent Koc
ce8bc1a3e3 fix(lint): cover diagnostic phase events 2026-05-04 15:40:00 -07:00
Peter Steinberger
864b1be1b3 fix: repair release validation checks 2026-05-04 23:39:37 +01:00
Vincent Koc
e39d3b4223 fix(mattermost): clarify model picker runtime behavior 2026-05-04 15:38:14 -07:00
Peter Steinberger
f8e080386d fix(gateway): quiet benchmark watch output 2026-05-04 23:36:18 +01:00
Vincent Koc
f042b53782 fix(channels): preserve channel aliases in plugin probes
Key package-state probes, env/config presence, and read-only command defaults by channel id instead of manifest plugin id so alias-owned channel plugins keep setup/native-command detection working.
2026-05-04 15:29:47 -07:00
Kevin Lin
592998ae0e fix: clean up orphaned child processes (#77481)
* fix: forward launcher respawn signals

* docs: explain respawn signal exit timer

* fix: centralize launcher respawn supervision

* fix: include respawn helper in duplicate scan

* fix: keep launcher respawn bridge local
2026-05-04 15:28:49 -07:00
Peter Steinberger
9f2c8a6ab6 fix: clarify slack socket retry errors 2026-05-04 23:26:25 +01:00
Peter Steinberger
d82992f0ae docs: add gateway diagnostics changelog 2026-05-04 23:26:25 +01:00
Peter Steinberger
d6917edc53 fix: preserve gateway watch trace overrides 2026-05-04 23:26:25 +01:00
Peter Steinberger
35e48a049b fix: enable sync io tracing in gateway watch 2026-05-04 23:26:25 +01:00
Peter Steinberger
e84d4b27f4 feat: add gateway stall diagnostics 2026-05-04 23:26:25 +01:00
Peter Steinberger
358cd87ff3 ci(release): split release soak validation 2026-05-04 23:25:06 +01:00
Vincent Koc
ac3cd1a0ca Harden Codex harness control surfaces (#77459)
* fix(scripts): find codex protocol source from worktrees

* fix(test): keep codex harness docker caches writable

* fix(test): relax live codex cache mount permissions

* test(codex): add live docker harness debug output

* fix(test): detect numeric ci env in codex docker harness

* fix(codex): skip duplicate agent-command telemetry

* fix(tooling): skip sparse-missing oxlint tsconfig

* fix(tooling): route changed checks through testbox

* fix(qa): keep coverage json source-clean

* fix(test): preflight codex docker auth

* fix(codex): validate bind option values

* fix(codex): parse quoted command arguments

* fix(codex): reject extra control args

* fix(codex): use content for blank bound prompts

* fix(codex): decode local image file urls

* fix(codex): treat local media urls as images

* fix(codex): keep windows media paths local

* fix(codex): reject malformed diagnostics confirmations

* fix(codex): reject malformed resume commands

* fix(codex): reject malformed thread actions

* fix(codex): reject malformed turn controls

* fix(codex): reject malformed model controls

* fix(codex): resolve empty user input prompts

* fix(codex): enforce user input options

* fix(codex): reject ambiguous computer-use actions

* fix(codex): ignore stale bound turn notifications

* test(gateway): close task registries in gateway harness

* test(gateway): route cleanup through task seams

* fix(codex): describe current permission approvals

* fix(codex): disclose command approval amendments

* fix(codex): preserve approval detail under truncation

* fix(codex): propagate dynamic tool failures

* test(codex): align dynamic tool block contract

* fix(codex): reject extra read-only command operands

* fix(codex): escape command readout fields

* fix(codex): escape status probe errors

* fix(codex): narrow formatted thread details

* fix(codex): escape successful status summaries

* fix(codex): escape bound control replies

* fix(codex): escape user input prompts

* fix(codex): escape control failure replies

* fix(codex): escape approval prompt text

* test(codex): narrow escaped reply assertions

* test(codex): complete strict reply fixtures

* test(codex): preserve account fixture literals

* test(codex): align status probe fixtures

* fix(codex): satisfy sanitizer regex lint

* fix(codex): harden command readouts

* fix(codex): harden bound image inputs

* fix(codex): sanitize command failure replies

* test(codex): complete rate limit fixture

* test(tooling): isolate postinstall compile cache fixture

* fix(codex): keep app-server event ownership explicit

---------

Co-authored-by: pashpashpash <nik@vault77.ai>
2026-05-05 07:23:41 +09:00
hcl
b3e42bf327 fix(plugins): emit actionable install hint for externalized channel plugins (#77502)
Fixes #77483.\n\n- Suggest catalog-backed install commands for missing official external plugins in config validation.\n- Preserve stale/remove wording for non-catalog missing plugins.\n- Add regression coverage for plugins.entries and plugins.allow warnings.\n\nVerification:\n- pnpm exec oxfmt --check --threads=1 CHANGELOG.md src/config/validation.ts src/config/config.plugin-validation.test.ts\n- pnpm test src/config/config.plugin-validation.test.ts src/commands/doctor/shared/missing-configured-plugin-install.test.ts\n- pnpm crabbox:run -- --provider blacksmith-testbox ... pnpm check:changed\n- GitHub CI green on d1b1b10444
2026-05-04 15:22:15 -07:00
Chunyue Wang
14aa98827a fix(codex/app-server): stable mirror idempotency to prevent transcript loss (#77046)
* fix(codex/app-server): stable mirror idempotency to prevent transcript loss

* Changelog: note codex/app-server transcript mirror dedupe stabilization (#77046)
2026-05-04 23:17:00 +01:00
Peter Steinberger
be6543caf8 fix(doctor): preserve active auth profile metadata 2026-05-04 23:16:43 +01:00
Vincent Koc
a07d8cbf8a fix(docker): normalize plugin build args 2026-05-04 15:16:22 -07:00
Vincent Koc
0908f3d538 docs(changelog): note model runtime switch repair UX 2026-05-04 15:15:32 -07:00
Vincent Koc
57ca91ff38 fix(telegram): clarify model picker runtime scope 2026-05-04 15:15:32 -07:00
Vincent Koc
e091d912ce fix(model): guide runtime allowlist repairs 2026-05-04 15:15:32 -07:00
Brandon
70b1c17ae0 fix(config): prefer plugin ids for built-in channel claims
Prefer the manifest plugin id when auto-allowlisting configured built-in channel aliases, with regression coverage for alias/id split plugins and same-name official channel plugins.
2026-05-04 15:15:18 -07:00
Peter Steinberger
683d892eed test: make global install shell test portable 2026-05-04 23:13:58 +01:00
Peter Steinberger
a7263de258 fix(agents): preserve workspace metadata reuse
Pass the resolved agent workspace through hot model refresh paths so workspace-scoped plugin metadata snapshots can be reused.

Refs #77519.
Refs #77532.
2026-05-04 23:13:32 +01:00
Peter Steinberger
343f859b90 fix: preserve visible Discord labeled replies 2026-05-04 23:13:18 +01:00
Peter Steinberger
31edc4ee1a fix: clean up startup readiness PR docs 2026-05-04 23:13:18 +01:00
Satoshi
5572c8137c fix(discord): preserve non-text payloads in reply scrub 2026-05-04 23:13:18 +01:00
Satoshi
e259938e96 fix: harden startup readiness and discord replies
(cherry picked from commit 3956672106b3387d42427a485a9ca01e77f3b78f)
2026-05-04 23:13:18 +01:00
Vincent Koc
7e229f0d3d fix(docker): prune external plugin dist (#77547) 2026-05-04 15:11:14 -07:00
Peter Steinberger
8ee08b2b77 chore: update dependencies 2026-05-04 23:07:09 +01:00
Mogglemoss
43b5df7295 fix(secretrefs): resolve external channel contracts in dist/ sidecars (#77421)
* fix(secretrefs): resolve external channel contracts in dist/ sidecars

Externalized channel plugins published to npm (e.g. @openclaw/discord
since 2026.5.2) keep their compiled secret-contract-api artifact under
<rootDir>/dist/, per the package.json `openclaw.runtimeExtensions`
convention. The runtime contract loader added in #76449 only searched
the rootDir, so npm-installed plugins silently dropped their channel
SecretRef contracts: the runtime snapshot left `channels.<id>.token`
as an unresolved SecretRef, the plugin's `isConfigured` check then
returned false, and the gateway recorded `error: not configured`
without firing the usual channel startup logs.

Look in `<rootDir>/dist/` as well as `<rootDir>/`, preferring dist
when running from a built openclaw artifact and rootDir when running
from source. The new `loads dist/ secret-contract-api sidecars …`
test in channel-contract-api.external.test.ts mirrors the real
npm-package layout and fails without this change.

Refs #76371. Fixes #77416.

* docs: credit changelog contributor

---------

Co-authored-by: Magpie <magpie@local>
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com>
2026-05-04 16:57:28 -05:00
Pnant
a7b665cfed fix(telegram): honor topic requireMention precedence
Telegram forum-topic requireMention config now takes precedence over persisted activation state, with focused regression coverage.\n\nFixes #49864.\nThanks @Panniantong.
2026-05-04 22:53:06 +01:00
hcl
d0cae0d950 fix(active-memory): skip sub-agent gracefully when no memory tools registered (#77506) (#77515)
* fix(active-memory): skip sub-agent gracefully when no memory tools registered (#77506)

When memory-core and memory-lancedb are both absent, the embedded
memory sub-agent would throw 'No callable tools remain after resolving
explicit tool allowlist', which propagated as a noisy warning through
the before_prompt_build hook. Catch this specific error in
runActiveMemorySubAgent and return an empty NONE result so the
gateway log stays clean and the sub-agent run is skipped without
disrupting the parent session.

* fix(active-memory): skip missing memory-tool subagent runs

* fix(active-memory): match inherited missing memory tool errors

* fix(active-memory): preserve policy-filtered memory errors

---------

Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
2026-05-04 16:47:38 -05:00
Penchan
1c52447f0b fix(plugins): treat CalVer correction versions as compatible with plugin API ranges (#77450)
* fix(plugins): accept CalVer correction plugin API hosts

Fixes #77293

* docs(changelog): credit plugin api calver fix pr

---------

Co-authored-by: pingu <pingu@penchan.co>
2026-05-04 14:46:29 -07:00
Vincent Koc
a4f2bf273a fix(openai): default direct responses to sse 2026-05-04 14:37:07 -07:00
Peter Steinberger
5005f5b22e docs(changelog): note npm script shell update fix 2026-05-04 22:34:30 +01:00
Peter Steinberger
4556707cb7 test(browser): mirror route URL guard in existing-session helper 2026-05-04 22:29:13 +01:00
Peter Steinberger
0909df1a4f refactor: centralize reply followup drain lifecycle 2026-05-04 22:25:16 +01:00
Peter Steinberger
86385f72e9 fix(update): use absolute npm script shell 2026-05-04 22:24:34 +01:00
Peter Steinberger
828b6be39d fix(cli): bound sessions list output 2026-05-04 22:18:25 +01:00
Peter Steinberger
14b5f73e2a fix(agents): avoid duplicate generated media attachments 2026-05-04 22:14:43 +01:00
Vincent Koc
29a3e71106 Merge branch 'main' of https://github.com/openclaw/openclaw
* 'main' of https://github.com/openclaw/openclaw:
  fix(update): isolate plugin sync failures
2026-05-04 14:07:57 -07:00