diff --git a/.openclaw-sync/source.json b/.openclaw-sync/source.json index 7aa7b0baa..f4ec6f21c 100644 --- a/.openclaw-sync/source.json +++ b/.openclaw-sync/source.json @@ -1,5 +1,5 @@ { "repository": "openclaw/openclaw", - "sha": "2a5c3556882d2ed672de422aa9a07723c604f28d", - "syncedAt": "2026-04-06T03:18:38.278Z" + "sha": "12f3c36ba8f46327e712a00139c8c94f2612c4c8", + "syncedAt": "2026-04-06T03:34:04.412Z" } diff --git a/docs/channels/matrix.md b/docs/channels/matrix.md index 8a0c2d33c..689846f3f 100644 --- a/docs/channels/matrix.md +++ b/docs/channels/matrix.md @@ -175,6 +175,13 @@ This is a practical baseline config with DM pairing, room allowlist, and E2EE en } ``` +`autoJoin` applies to Matrix invites in general, not only room/group invites. +That includes fresh DM-style invites. At invite time, OpenClaw does not reliably know whether the +invited room will end up being treated as a DM or a group, so all invites go through the same +`autoJoin` decision first. `dm.policy` still applies after the bot has joined and the room is +classified as a DM, so `autoJoin` controls join behavior while `dm.policy` controls reply/access +behavior. + ## Streaming previews Matrix reply streaming is opt-in. @@ -1011,9 +1018,10 @@ Live directory lookup uses the logged-in Matrix account: - `ackReactionScope`: optional ack reaction scope override (`group-mentions`, `group-all`, `direct`, `all`, `none`, `off`). - `reactionNotifications`: inbound reaction notification mode (`own`, `off`). - `mediaMaxMb`: media size cap in MB for Matrix media handling. It applies to outbound sends and inbound media processing. -- `autoJoin`: invite auto-join policy (`always`, `allowlist`, `off`). Default: `off`. +- `autoJoin`: invite auto-join policy (`always`, `allowlist`, `off`). Default: `off`. This applies to Matrix invites in general, including DM-style invites, not only room/group invites. OpenClaw makes this decision at invite time, before it can reliably classify the joined room as a DM or a group. - `autoJoinAllowlist`: rooms/aliases allowed when `autoJoin` is `allowlist`. Alias entries are resolved to room IDs during invite handling; OpenClaw does not trust alias state claimed by the invited room. - `dm`: DM policy block (`enabled`, `policy`, `allowFrom`, `sessionScope`, `threadReplies`). +- `dm.policy`: controls DM access after OpenClaw has joined the room and classified it as a DM. It does not change whether an invite is auto-joined. - `dm.allowFrom` entries should be full Matrix user IDs unless you already resolved them through live directory lookup. - `dm.sessionScope`: `per-user` (default) or `per-room`. Use `per-room` when you want each Matrix DM room to keep separate context even if the peer is the same. - `dm.threadReplies`: DM-only thread policy override (`off`, `inbound`, `always`). It overrides the top-level `threadReplies` setting for both reply placement and session isolation in DMs.