From 9a19919943ebfac6bc9c952e6185f3e145d3fb57 Mon Sep 17 00:00:00 2001 From: iris Date: Fri, 5 Jun 2026 18:35:33 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20correct=20auto-accept=20invites=20claim?= =?UTF-8?q?=20=E2=80=94=20daemon=20wakes=20agent,=20agent=20decides?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The daemon does not call join_room_by_id. It fires a wake and writes to mcp-loose-ends/matrix.json; the agent calls list_invites + join_room. Replace the inaccurate 'Auto-accept invites' paragraph with 'Invite wakes' describing the actual flow. Merge the pending-invites paragraph into a single accurate block. --- docs/tools/matrix.md | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/docs/tools/matrix.md b/docs/tools/matrix.md index 06f25486..a6ea36ac 100644 --- a/docs/tools/matrix.md +++ b/docs/tools/matrix.md @@ -60,19 +60,17 @@ The same per-room breakdown is included in the `UnreadMatrix` entry returned by `get_loose_ends` so unread rooms surface in the loose-ends list between turns. -**Auto-accept invites**: when the daemon's sync loop receives an -`m.room.member` invite event for the agent's own user, it immediately -calls `join_room_by_id` and fires a wake so the agent learns about the -new room. This closes the gap where invites (e.g. the hive Matrix Space -created by hive-c0re on boot) would sit in the `invited_rooms()` list -indefinitely until the agent called `join_room` manually. +**Invite wakes**: when the daemon's sync loop receives an +`m.room.member` invite event, it writes the invite to +`mcp-loose-ends/matrix.json` and fires a hyperhive wake. The daemon +does **not** auto-join — the agent calls `list_invites` to see pending +invites and `join_room` to accept (or ignore). -**Pending invites as loose ends**: any remaining pending invites (not -yet auto-accepted, e.g. delivered while the daemon was down) are written -to `mcp-loose-ends/matrix.json` and appear in `get_loose_ends` output -as `[matrix] pending invite: — use list_invites to see, -join_room to accept`. The file is updated atomically after each invite -arrives or a room is joined. +**Pending invites as loose ends**: pending invites are written to +`mcp-loose-ends/matrix.json` and appear in `get_loose_ends` output as +`[matrix] pending invite: — use list_invites to see, join_room +to accept`. The file is updated atomically after each invite event +and after each `join_room` call clears the entry. See [`docs/matrix.md`](../matrix.md) for the homeserver setup, provisioning flow, and federation config.