-
-
Notifications
You must be signed in to change notification settings - Fork 73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bridge join rules (both ways) #268
Conversation
8205c38
to
2cd52ee
Compare
Not sure if this should be bridged at all, it's not the same thing. Public is never the correct rule, and even knock isn't entirely correct (knocking from Matrix can't be supported, but bridging signal join requests into matrix knocks would provide a nice way to accept new members) |
By "not sure if this should be bridged at all", do you mean edit: and yes, bridging signal join request into matrix knocks was the primary reason I made this PR |
Signal groups aren't public and the only way to do knocking/joining from Matrix would be for the bridge to store an invite link and use it even if the user doesn't actually know the link. An option for the bridge to store the link might make sense, but it can't be the default. |
I see. The scenario I had in mind was a matrix group that the administrator actually wants to be public and accessible on signal as well, so the invite link would be available publicly somewhere. |
2cd52ee
to
082a4f9
Compare
rebased on |
7618455
to
a8854b0
Compare
a8854b0
to
2d76f5d
Compare
This PR bridges join rules from matrix to signal and vice versa.
restricted
is bridged asADMINISTRATOR
, which is the same as forknock
.I was considering for a while whether it should be
ANY
(the bridge bot can invite puppets that don't match the restrictions and joining the signal group from matrix will work) orUNSATISFIABLE
(A matrix user setting the join rules torestricted
would probably not want random signal users to join if they don't correspond to the restrictions).I decided that probably emulating
restricted
for the signal side through a relay is the best course of action, because it produces expected behavior on the matrix side and does not cause problems on the signal side. The only downside is that a relay would be required even if only logged-in users are in the room. Auto-setting the room creator or otherwise a signal administrator as the relay might be useful. If there is no signal administrator on matrix, then nobody should be able to set the join rule torestricted
in the first place.I think that as soon as there is an admin on matrix, we probably want to treat the room as a plumbed room and the remote platform should not restrict what is possible on matrix - especially considering bridging several remote platforms into the same room.
Most of these are just thoughts for future work though, I'm planning to bridge knocks at some point. Join rules only are of limited use, but a prerequisite.