Matrix: no way to invite anyone to a room #74

Closed
opened 2026-09-02 00:04:17 -04:00 by Salastil · 1 comment
Owner

There is no call to /rooms/{id}/invite anywhere in the tree. Invites can be accepted and declined (listMatrixInvites, acceptMatrixInvite), but not sent — so a room created here can never gain a second member from here.

Done looks like: an inviteMatrixMember RPC and an entry in the member-list menu, beside the kick/ban actions that already exist in moderation.rs.

There is no call to `/rooms/{id}/invite` anywhere in the tree. Invites can be accepted and declined (`listMatrixInvites`, `acceptMatrixInvite`), but not sent — so a room created here can never gain a second member from here. **Done looks like:** an `inviteMatrixMember` RPC and an entry in the member-list menu, beside the kick/ban actions that already exist in `moderation.rs`.
Author
Owner

Finished — https://git.salastil.com/Salastil/nobilis/commit/1ef66ab and https://git.salastil.com/Salastil/moho/commit/2fcf085

This client could accept an invitation and decline one, and never send one — so a room created here could never gain a second member here, and everyone in any room was somebody who had arrived by another route.

invite_member sits beside kick and ban because it is the same shape of call decided by the same authority: a room's power levels say who may invite exactly as they say who may remove.

In the UI it is a field beside the conversation's other tools rather than a picker — a Matrix address names a person globally, so there is no roster to choose from and nobody to look up first. Offered on every Matrix room rather than gated on permission: the server decides and refuses clearly, and guessing here would only hide the action from somebody who could have used it. A non-Matrix-looking address is refused before the request, because the server's own error names an endpoint rather than the thing that was typed.

Finished — https://git.salastil.com/Salastil/nobilis/commit/1ef66ab and https://git.salastil.com/Salastil/moho/commit/2fcf085 This client could accept an invitation and decline one, and never send one — so a room created here could never gain a second member here, and everyone in any room was somebody who had arrived by another route. `invite_member` sits beside kick and ban because it is the same shape of call decided by the same authority: a room's power levels say who may invite exactly as they say who may remove. In the UI it is a field beside the conversation's other tools rather than a picker — a Matrix address names a person globally, so there is no roster to choose from and nobody to look up first. Offered on every Matrix room rather than gated on permission: the server decides and refuses clearly, and guessing here would only hide the action from somebody who could have used it. A non-Matrix-looking address is refused before the request, because the server's own error names an endpoint rather than the thing that was typed.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Salastil/moho#74