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`.
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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
There is no call to
/rooms/{id}/inviteanywhere 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
inviteMatrixMemberRPC and an entry in the member-list menu, beside the kick/ban actions that already exist inmoderation.rs.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_membersits 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.