Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Have more fine-grained control over who can discover a room vs who needs to be explicitly invited/given a link #6081

Closed
mediocregopher opened this issue Sep 20, 2019 · 3 comments

Comments

@mediocregopher
Copy link

Description:

Currently it seems that there's only the ability to make a room 100% public to all HSs or 100% invite only (via link or explicit invitation), but nothing in between. So if I'm running a HS for friends and I want to be able to:

  • Allow us to join rooms on other HSs (so federation must be enabled).
  • Allow users on our HS to view all rooms on our HS, and join the ones they want to.
  • Allow users on other HSs to be invited to one of our rooms, but never to see them in publicRooms.

I'm not sure what to do. Right now all I can think of is have all rooms be non-public, and auto-invite all new users, and let them leave the ones they don't want. But this has its own problems, as if new rooms are created an existing user wouldn't know about it unless they were invited.

Perhaps a good solution would be to be able to set on a room an ACL which can be applied to the discovering user's account string, to determine if they can discover the room or not. Something like:

allow @*:my.homeserver.com
reject @bad_user:other.homeserver.com
allow @*:other.homeserver.com
reject all

And then the existing Publish this room to the public switch would just be a special case of that which sets it to allow all. Perhaps this would require a spec change though.

Hopefully this is the right place for this, and sorry if this actually is already a feature and I'm being dumb (I asked in the matrix room if it was possible and was told no though, so I tried!). Thanks!

@Half-Shot
Copy link
Collaborator

This sounds like a change to Matrix rather than a change to Synapse (just the server component). You'd probably want to propose suggestions in https://github.com/matrix-org/matrix-doc/issues

To be honest, this feels very much like groups (communities) where members of a group may see rooms which are related to that group.

@neilisfragile
Copy link
Contributor

Agreed, I think groups/communities should cover what you need. We have an implementation today supported in Riot, look to the far left of the screen on Riot Web. You are welcome to try and many people use it in their day to day usage, though we hope to spend some time re-working it in the coming months.

For more details on communities see
matrix-org/matrix-spec-proposals#971 especially https://docs.google.com/document/d/1cTK2pKolWNXspL69knpDJkcQWZsHpsMDTc2X_dEB5XQ/edit

If it does not cover your needs, then making a proposal in the way to go https://github.com/matrix-org/matrix-doc

I'm going to close this issue, not because it is not valuable, but because the content either should go in matrix-doc either as a fresh proposal or joining the existing discussion on Groups/Communities

@mediocregopher
Copy link
Author

Thanks everyone, I'll try that out and see how it goes

richvdh added a commit that referenced this issue Oct 10, 2019
... after it got borked by #6081
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants