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

Allow publish to room directory to work with tight security and privacy permissions #9138

Closed
mattcaron opened this issue Jan 16, 2021 · 4 comments
Labels
X-Needs-Info This issue is blocked awaiting information from the reporter

Comments

@mattcaron
Copy link

Per: #4924 (comment), a room is only published to the room directory if the following are true:

  • 'Publish this room to server's room directory?' is enabled.
  • Either (or both):
    • Room history is world-readable
    • Anyone can join

I have a use case where I want rooms to appear in the list, and want to allow people to see them so that they can request an invite (via DM, but that's not relevant), but I do not want just anyone to be able to join the room or read the history.

@clokep
Copy link
Member

clokep commented Jan 18, 2021

I wonder if knocking is what you're after? See matrix-org/matrix-spec-proposals#2403, and it is currently being implemented in Synapse over at #6739. That wouldn't really help with the user directory case though I don't think. @anoadragon453 was this considered at all? (Should knockable rooms be in the user directory?)

@callahad callahad added the X-Needs-Info This issue is blocked awaiting information from the reporter label Jan 21, 2021
@mattcaron
Copy link
Author

If I understand the current spec correctly, knocking solves the "request for access" problem I mentioned by giving a formal way for someone to request access rather than a DM to me or another known admin.

However, there is still a discoverability problem, even for the knock feature as described. Specifically:

Case 1: If a user knows the room name, they can knock to request access to the room.

Case 2: If a user does not know the room name, how can they request access? They don't even know it exists.

Wouldn't there need to be some permission set whereby you can publish a room to the directory if it is either joinable or knockable?

So, the overall conditions become:

  • 'Publish this room to server's room directory?' is enabled.
  • At least one of the following is selected:
    • Room history is world-readable
    • Anyone can join
    • Room is knockable

But I don't see anything in the referenced knocking spec which would add the third item as a condition of the directory publishing check (but I might have missed it).

@anoadragon453
Copy link
Member

This has been raised quite recently by one of our customers as well. They would like knockable rooms to appear in the public rooms directory for discoverability. I don't see a problem with amending the public room publishing rules to allow knockable rooms.

I'll propose the idea in the MSC and see what others think.

@anoadragon453
Copy link
Member

I'll propose the idea in the MSC and see what others think.

This has been done (you can read it here) and has been added to the knock implementation.

With this, one can publish knock rooms to the public rooms directory, and clients can request to access those rooms (by knocking) from there.

Closing this now as I believe this satisfies your requirement, but feel free to re-open if not.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
X-Needs-Info This issue is blocked awaiting information from the reporter
Projects
None yet
Development

No branches or pull requests

4 participants