Commit Graph

6857 Commits

Author SHA1 Message Date
Vincent Koc
88503674af fix(plugins): skip managed npm peer resolution (#78348)
(cherry picked from commit aa9247e0ce)
2026-05-06 21:09:54 +01:00
Vincent Koc
cbf08f16d5 fix(plugins): apply npm overrides to managed roots (#78386)
(cherry picked from commit 5d557171b3)
2026-05-06 21:08:22 +01:00
Peter Steinberger
e75480dbb8 fix(release): harden ClawHub plugin publish 2026-05-06 20:59:31 +01:00
Peter Steinberger
1ec03a9538 chore(release): refresh config baseline hash 2026-05-06 17:47:51 +01:00
Peter Steinberger
623757011e Revert "fix(doctor): repair legacy Codex route config"
This reverts commit 258e153705.

(cherry picked from commit c8fcc46978c5b87f0149e3b1727d8a4ce36c72c5)
2026-05-06 17:32:49 +01:00
Peter Steinberger
24e8152a0c docs(release): trim 2026.5.6 changelog 2026-05-06 17:29:12 +01:00
Peter Steinberger
430c0bdaba fix(line): require wildcard for open dm policy 2026-05-06 08:43:38 +01:00
Peter Steinberger
62840687ed fix(feishu): keep topic sessions stable
Fixes Feishu native topic starter routing by hydrating a missing topic thread ID before session resolution.\n\nCloses #78262.

(cherry picked from commit 8cc762daff)
2026-05-06 07:37:50 +01:00
Peter Steinberger
74ab84454d fix(plugins): repair managed npm openclaw peers
Remove stale managed-root openclaw manifests, locks, hidden locks, and installed copies before npm plugin installs.

Relink plugin-local openclaw peer symlinks after shared-root npm install, rollback, update, and uninstall mutations so SDK-using plugins keep resolving openclaw/plugin-sdk/*.

Force safe npm commands out of inherited legacy/strict peer-dependency modes.

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
(cherry picked from commit 8e533490ab)
2026-05-06 07:36:57 +01:00
Peter Steinberger
013a2c50f6 chore(release): refresh release metadata for 2026.5.5 beta 1 2026-05-06 03:03:03 +01:00
Vincent Koc
258e153705 fix(doctor): repair legacy Codex route config
Repair legacy openai-codex route config and session pins safely.
2026-05-06 02:31:02 +01:00
Vincent Koc
3c04d7e710 fix(video): recover generation parameter fallbacks 2026-05-06 02:29:39 +01:00
Vincent Koc
1205c9ef1f feat(status): show uptime in chat status
Show compact Gateway process and host system uptime in chat /status output.
2026-05-06 02:29:03 +01:00
Vincent Koc
ba5bc48f70 fix(gateway): keep reset and refresh paths responsive (#77701)
* fix(hooks): keep session memory slugging off reset hot path

* fix(hooks): run session memory capture asynchronously

* fix(cli): avoid stuck gateway command exits

* fix(gateway): cache empty read-only model catalog

* fix(doctor): stop stale TUI clients for WhatsApp responsiveness
2026-05-06 02:28:25 +01:00
Vincent Koc
0097427d08 fix(tui): bound session list recency (#77752) 2026-05-06 02:27:11 +01:00
Vincent Koc
e8ad813282 fix(update): avoid lint-blocked dev installs (#77181) 2026-05-06 02:08:59 +01:00
Patrick Erichsen
30927c8491 Tolerate corrupt plugins during update (#77706)
* fix(update): tolerate corrupt plugin state

* fix(update): preserve corrupt plugin proof state

* fix(update): narrow corrupt plugin warnings

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
(cherry picked from commit 8aa7b7a4ca)
2026-05-05 23:51:57 +01:00
Ayu
eda33431de security: harden gateway container privileges
Adds cap_drop and no-new-privileges hardening for the bundled gateway Docker Compose services.\n\nThanks @VintageAyu.

(cherry picked from commit f9da484365)
2026-05-05 23:48:15 +01:00
Peter Steinberger
2fc80754cf ci: parallelize release publish workflows 2026-05-05 07:35:28 +01:00
Peter Steinberger
303ff716d4 chore(release): refresh plugin SDK API baseline 2026-05-05 05:56:41 +01:00
Vincent Koc
ade922ba98 fix(telegram): reuse preview for long text finals (#77658)
* fix(telegram): reuse preview for long text finals

* test(qa): cover long telegram finals

* fix(qa): satisfy extension lint

* fix(qa): keep telegram long final fixture to two chunks

* test(telegram): cover three chunk finals

* fix(telegram): force long final preview boundary

(cherry picked from commit e03fe1e289)
2026-05-05 05:37:52 +01:00
Peter Steinberger
9f15c29397 fix: explain missing git during plugin install
(cherry picked from commit a91c17c426)
2026-05-05 05:23:01 +01:00
Vincent Koc
04b7e4894d docs(channels): add Socket vs HTTP comparison and explain shared URL fields
The Slack docs jumped straight from intro into the Quick Setup tabs
without telling readers when to pick each transport. Add a Choosing
Socket Mode or HTTP Request URLs section above Quick Setup with a
concern-by-concern table (public URL, outbound network, tokens, dev
laptops, scaling, multi-account, slash command transport, signing,
recovery) plus a Note pointing at the right default for each shape.

Also add an Info block under the HTTP Quick Setup manifest explaining
why the manifest carries three url fields (slash_commands[].url,
event_subscriptions.request_url, interactivity.request_url) — Slack's
manifest schema requires them spelled out separately even though
OpenClaw routes by payload type, and slash commands silently no-op
without their url field in HTTP mode.
2026-05-04 18:30:29 -07:00
Peter Steinberger
c84b7cbffc ci(release): speed up focused release reruns 2026-05-05 02:28:22 +01:00
Vincent Koc
0131343db8 docs(doctor): clarify configured plugin repair (#77613) 2026-05-04 18:16:29 -07:00
Vincent Koc
b062bb670d docs(channels): inline Slack manifest into Quick Setup with Recommended/Minimal variants
The Quick Setup steps in docs/channels/slack.md previously sent users to
the `#manifest-and-scope-checklist` anchor lower on the page to copy the
manifest, breaking the copy-paste flow. Pull the manifest inline as a
Mintlify <CodeGroup> for both Socket Mode and HTTP Request URLs tabs and
add a Minimal variant for workspaces that restrict scopes (drops
files:*, reactions:*, pins:*, mpim:*, emoji:read, usergroups:read while
keeping DMs, channel/group history, mentions, App Home, and slash
commands). Recommended matches extensions/slack/src/setup-shared.ts.
Existing Manifest and scope checklist section stays as the canonical
per-scope reference.

Cross-link from docs/concepts/qa-e2e-automation.md so QA maintainers see
the production manifest reference, while keeping the QA Driver/SUT pair
of manifests inline (the lane intentionally needs two distinct apps so
its shape is different from a single-app production install).
2026-05-04 18:16:15 -07:00
Peter Steinberger
a78bb7832c chore(config): refresh merged baseline hash 2026-05-05 02:15:42 +01:00
Peter Steinberger
5dfaed1846 refactor(agents): use loop detection switch for post-compaction guard 2026-05-05 02:15:42 +01:00
Eduardo Piva
4c4825679b fix(agents): make post-compaction guard config valid + observation trim-resilient
Two correctness fixes from code review.

1. Zod schema (src/config/zod-schema.agent-runtime.ts) was strict and
   rejected tools.loopDetection.postCompactionGuard.* keys at validation
   time, making the guard's documented configurability inaccessible at
   gateway startup. Adds ToolLoopPostCompactionGuardSchema with both
   optional fields and wires it into ToolLoopDetectionSchema.

2. The runner observation cursor in pi-embedded-runner/run.ts used
   absolute indices into state.toolCallHistory, but that array is
   trimmed at historySize (default 30). Once the buffer was full, new
   records shifted out from under the cursor and the guard silently
   missed every loop in long-running sessions. Replaces the index
   cursor with a monotonic toolOutcomeSeq on SessionState that
   recordToolCallOutcome bumps on each observable push (unmatched
   branch only, mirroring the prior cursor's effective semantics).
   The runner now reads the most recent (currentSeq - lastSeq) entries
   from the tail of toolCallHistory, which is trim-resilient.

Adds zod parse tests for the new config keys (valid, empty, unknown
key, non-positive, non-integer) and a runner regression test that
seeds toolCallHistory at the trim cap before triggering a
post-compaction loop, asserting the abort still fires.

Refs #77474
2026-05-05 02:15:42 +01:00
Eduardo Piva
2a702f927f feat(agents): wire post-compaction loop guard into pi-embedded-runner
Arms the guard at each of the three compaction-success points in
run.ts and observes tool-call outcomes from the diagnostic session
state's toolCallHistory after each attempt. Aborts with
PostCompactionLoopPersistedError when the same (tool, args, result)
triple repeats windowSize times within the post-compaction window.

Refs #77474
2026-05-05 02:15:42 +01:00
Peter Steinberger
b17bb63b9e fix: repair stale session route state in doctor 2026-05-05 01:51:23 +01:00
Vincent Koc
967c0981e3 docs(help,security): cross-reference auth list and trusted-env-proxy
Two missing cross-references uncovered by the 24-hour doc audit:

- docs/help/faq-models.md: link to `openclaw models auth list` from the
  "What is an auth profile?" accordion. The command was added in
  23eb44b045 but the FAQ never pointed users at it.
- docs/security/network-proxy.md: list `tools.web.fetch.useTrustedEnvProxy`
  in Related Proxy Terms. The opt-in is fully documented in
  docs/tools/web-fetch.md but the proxy reference page omitted the
  cross-reference, leaving the page incomplete for proxy-state triage.
2026-05-04 17:43:09 -07:00
Peter Steinberger
2d8fa23447 fix(agents): mediate async media completions 2026-05-05 01:42:50 +01:00
Vincent Koc
b38e674c9f docs(cli): document gateway restart --safe in command options
The `gateway restart` Command-options accordion only listed `--force`,
`--wait`, and `--json` even though `--safe` is a fully-supported flag
(documented in the prose at line 112 and rejected by lifecycle.ts when
combined with --force/--wait). Add --safe to the option list and a
Lifecycle-behavior bullet that explains the preflight-defer behavior
plus its mutual exclusion with --force and --wait, matching
src/cli/daemon-cli/lifecycle.ts:153-156.
2026-05-04 17:38:32 -07:00
Sarah Fortune
d6e991db49 Add instructions for how to setup slack for QA tests (#77606) 2026-05-04 17:38:16 -07:00
Vincent Koc
a491090b48 fix(release): refresh plugin sdk api gate
Refresh release baseline hashes and raise the Plugin SDK API baseline heap cap so release preflight reports real drift instead of OOMing.
2026-05-04 17:13:47 -07:00
pashpashpash
b2c3202a15 Surface Codex usage-limit reset details in chat replies (#77557)
* fix(codex): surface usage limit reset details

* fix(codex): satisfy extension lint

* fix: surface codex runtime failures in tool-only replies
2026-05-05 09:00:39 +09:00
Kevin Lin
cb9824d6b4 test: add slack onboarding channel smoke (#77575) 2026-05-04 16:51:34 -07:00
praveen9354
0677a4f8b3 fix(dashboard): guide manual token auth fallback
Summary:
- Add a redaction-safe dashboard fallback hint when tokenized URL delivery fails.
- Document the manual auth path and update the changelog.

Verification:
- PR CI exact head 48ccb97c08 green for relevant CI/security checks.
- pnpm test src/commands/dashboard.links.test.ts src/commands/dashboard.test.ts
- pnpm exec oxfmt --check --threads=1 src/commands/dashboard.ts src/commands/dashboard.links.test.ts
- pnpm format:docs:check
- pnpm docs:check-mdx
- pnpm docs:check-i18n-glossary
- targeted markdownlint for docs/cli/dashboard.md and docs/web/dashboard.md
2026-05-04 18:39:25 -05:00
Peter Steinberger
15d3fd83bb fix(openai-codex): match codex replay identity 2026-05-05 00:33:23 +01:00
mkdev11
27e467ad23 fix(openai-codex): avoid stale Responses replay state 2026-05-05 00:33:23 +01:00
Peter Steinberger
ab032675ce fix: simplify gateway model startup modes 2026-05-05 00:07:11 +01:00
Peter Steinberger
03f7e26d54 fix: log gateway model mode defaults 2026-05-04 23:53:05 +01:00
Peter Steinberger
40e0844133 fix(plugins): preserve bundled allowlist edges 2026-05-04 23:50:03 +01:00
Peter Steinberger
b2096d19ec fix(plugins): default bundled discovery to allowlist 2026-05-04 23:50:03 +01:00
Peter Steinberger
55df2d4598 docs(config): refresh bundled discovery baseline 2026-05-04 23:50:03 +01:00
Peter Steinberger
41257a5f6f fix(plugins): rename bundled allowlist discovery policy 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
Peter Steinberger
a167acee67 fix(gateway): route watch trace spam to artifacts 2026-05-04 23:41:14 +01:00
Peter Steinberger
f8e080386d fix(gateway): quiet benchmark watch output 2026-05-04 23:36:18 +01:00