Skip to content

Commit ffe4530

Browse files
committed
Auto-merge upstream openclaw/openclaw
2 parents 9a364d5 + aa464f8 commit ffe4530

205 files changed

Lines changed: 6014 additions & 1203 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 66 additions & 67 deletions
Large diffs are not rendered by default.

apps/ios/Config/Version.xcconfig

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// Shared iOS version defaults.
22
// Generated overrides live in build/Version.xcconfig (git-ignored).
33

4-
OPENCLAW_GATEWAY_VERSION = 2026.4.4
5-
OPENCLAW_MARKETING_VERSION = 2026.4.4
6-
OPENCLAW_BUILD_VERSION = 2026040401
4+
OPENCLAW_GATEWAY_VERSION = 2026.4.5
5+
OPENCLAW_MARKETING_VERSION = 2026.4.5
6+
OPENCLAW_BUILD_VERSION = 2026040501
77

88
#include? "../build/Version.xcconfig"

apps/macos/Sources/OpenClaw/Resources/Info.plist

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
<key>CFBundlePackageType</key>
1616
<string>APPL</string>
1717
<key>CFBundleShortVersionString</key>
18-
<string>2026.4.4</string>
18+
<string>2026.4.5</string>
1919
<key>CFBundleVersion</key>
20-
<string>2026040401</string>
20+
<string>2026040501</string>
2121
<key>CFBundleIconFile</key>
2222
<string>OpenClaw</string>
2323
<key>CFBundleURLTypes</key>
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
ff04a708e3d7f60c62f9347693c1e8b029748511f243e0c38fe32f47197fced5 config-baseline.json
2-
717e2f414bbe7673404d89aea8d48cdf4acd7df92b67ba033ae9fa194651f3bb config-baseline.core.json
3-
3c999707b167138de34f6255e3488b99e404c5132d3fc5879a1fa12d815c31f5 config-baseline.channel.json
4-
317e1009e0d09c8d4fce0a415b15700e7043a5e7be75c38e4aaec02bb875dc9c config-baseline.plugin.json
1+
57a3b1cc7d573c3788a670d927eac947fb1685384804f5c3c926f702a27fe00b config-baseline.json
2+
82163136ff466db3caa61290fd65a8b8dd9487fc61f3871c177f96fcecf9e29b config-baseline.core.json
3+
ae67508350baf891b902348d55fada6c17e9c053adf53aaf3a8b92cd364ef3f1 config-baseline.channel.json
4+
d972a11d0f86080a722bddfe48990dd1b8fa16eb8e157e83f49bd46a5941c512 config-baseline.plugin.json
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
1a70d4d4f34ba5d0708a17540c0cbf1c98f50d37f25d2f71ad99b8bf6856cf9b plugin-sdk-api-baseline.json
2-
99cbe863efbed5ab42e0e7053d9486179aa689807696f0ebc4f4b89f1fe8cdfd plugin-sdk-api-baseline.jsonl
1+
97509287d728c8f5d1736f7ea07521451ada4b9d7ef56555dbe860a89e1b6e08 plugin-sdk-api-baseline.json
2+
a22b3d427953cc8394b28c87ef7a992d2eb4f2c9f6a76fa58b33079e2306661b plugin-sdk-api-baseline.jsonl

docs/channels/discord.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -571,8 +571,14 @@ Default slash command settings:
571571
- `off` (default)
572572
- `first`
573573
- `all`
574+
- `batched`
574575

575576
Note: `off` disables implicit reply threading. Explicit `[[reply_to_*]]` tags are still honored.
577+
`first` always attaches the implicit native reply reference to the first outbound Discord message for the turn.
578+
`batched` only attaches Discord's implicit native reply reference when the
579+
inbound turn was a debounced batch of multiple messages. This is useful
580+
when you want native replies mainly for ambiguous bursty chats, not every
581+
single-message turn.
576582

577583
Message IDs are surfaced in context/history so agents can target specific messages.
578584

docs/channels/slack.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ Current Slack message actions include `send`, `upload-file`, `download-file`, `r
338338

339339
Reply threading controls:
340340

341-
- `channels.slack.replyToMode`: `off|first|all` (default `off`)
341+
- `channels.slack.replyToMode`: `off|first|all|batched` (default `off`)
342342
- `channels.slack.replyToModeByChatType`: per `direct|group|channel`
343343
- legacy fallback for direct chats: `channels.slack.dm.replyToMode`
344344

docs/gateway/configuration-reference.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ WhatsApp runs through the gateway's web channel (Baileys Web). It starts automat
179179
{ command: "generate", description: "Create an image" },
180180
],
181181
historyLimit: 50,
182-
replyToMode: "first", // off | first | all
182+
replyToMode: "first", // off | first | all | batched
183183
linkPreview: true,
184184
streaming: "partial", // off | partial | block | progress (default: off; opt in explicitly to avoid preview-edit rate limits)
185185
actions: { reactions: true, sendMessage: true },
@@ -239,7 +239,7 @@ WhatsApp runs through the gateway's web channel (Baileys Web). It starts automat
239239
events: true,
240240
moderation: false,
241241
},
242-
replyToMode: "off", // off | first | all
242+
replyToMode: "off", // off | first | all | batched
243243
dmPolicy: "pairing",
244244
allowFrom: ["1234567890", "123456789012345678"],
245245
dm: { enabled: true, groupEnabled: false, groupChannels: ["openclaw-dm"] },
@@ -405,7 +405,7 @@ WhatsApp runs through the gateway's web channel (Baileys Web). It starts automat
405405
allowBots: false,
406406
reactionNotifications: "own",
407407
reactionAllowlist: ["U123"],
408-
replyToMode: "off", // off | first | all
408+
replyToMode: "off", // off | first | all | batched
409409
thread: {
410410
historyScope: "thread", // thread | channel
411411
inheritParent: false,

docs/help/testing.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,10 @@ The live-model Docker runners also bind-mount only the needed CLI auth homes (or
442442
The live-model Docker runners also bind-mount the current checkout read-only and
443443
stage it into a temporary workdir inside the container. This keeps the runtime
444444
image slim while still running Vitest against your exact local source/config.
445+
The staging step skips large local-only caches and app build outputs such as
446+
`.pnpm-store`, `.worktrees`, `__openclaw_vitest__`, and app-local `.build` or
447+
Gradle output directories so Docker live runs do not spend minutes copying
448+
machine-specific artifacts.
445449
They also set `OPENCLAW_SKIP_CHANNELS=1` so gateway live probes do not start
446450
real Telegram/Discord/etc. channel workers inside the container.
447451
`test:docker:live-models` still runs `pnpm test:live`, so pass through
@@ -479,8 +483,8 @@ Useful env vars:
479483
- `OPENCLAW_PROFILE_FILE=...` (default: `~/.profile`) mounted to `/home/node/.profile` and sourced before running tests
480484
- `OPENCLAW_DOCKER_CLI_TOOLS_DIR=...` (default: `~/.cache/openclaw/docker-cli-tools`) mounted to `/home/node/.npm-global` for cached CLI installs inside Docker
481485
- External CLI auth dirs/files under `$HOME` are mounted read-only under `/host-auth...`, then copied into `/home/node/...` before tests start
482-
- Default dirs: `.codex`, `.minimax`
483-
- Default files: `.claude.json`, `~/.claude/.credentials.json`, `~/.claude/settings.json`, `~/.claude/settings.local.json`
486+
- Default dirs: `.minimax`
487+
- Default files: `~/.codex/auth.json`, `~/.codex/config.toml`, `.claude.json`, `~/.claude/.credentials.json`, `~/.claude/settings.json`, `~/.claude/settings.local.json`
484488
- Narrowed provider runs mount only the needed dirs/files inferred from `OPENCLAW_LIVE_PROVIDERS` / `OPENCLAW_LIVE_GATEWAY_PROVIDERS`
485489
- Override manually with `OPENCLAW_DOCKER_AUTH_DIRS=all`, `OPENCLAW_DOCKER_AUTH_DIRS=none`, or a comma list like `OPENCLAW_DOCKER_AUTH_DIRS=.claude,.codex`
486490
- `OPENCLAW_LIVE_GATEWAY_MODELS=...` / `OPENCLAW_LIVE_MODELS=...` to narrow the run

extensions/acpx/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@openclaw/acpx",
3-
"version": "2026.4.4",
3+
"version": "2026.4.5",
44
"description": "OpenClaw ACP runtime backend",
55
"type": "module",
66
"dependencies": {

0 commit comments

Comments
 (0)