Skip to content
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

details of knockable rooms are returned by /hierarchy #1186

Closed
richvdh opened this issue Jul 26, 2022 · 7 comments
Closed

details of knockable rooms are returned by /hierarchy #1186

richvdh opened this issue Jul 26, 2022 · 7 comments
Labels
A-Client-Server Issues affecting the CS API wart A point where the protocol is inconsistent or inelegant

Comments

@richvdh
Copy link
Member

richvdh commented Jul 26, 2022

AIUI (based on #1184 (comment) - sorry, haven't tested):

  • if a room is invite-only, information on it is not returned by /hierarchy, unless it is also world-readable (?)
  • however, if it is knockable, /hierarchy does return all sorts of information about the room, such as its topic.

Naively, as a user, I wouldn't expect that making a room knockable would expose information to non-members until they were accepted into the room (by sending them an invite). I'm worried that this will catch users off-guard.

@richvdh
Copy link
Member Author

richvdh commented Jul 26, 2022

@clokep wrote:

I think knock rooms are generally thought to be "findable" and that's why they're returned

Is that right? It's not obvious to me, and I'm not sure it would be obvious to a user. We have different controls for making rooms findable (in particular, GET/PUT /_matrix/client/v3/directory/list/room/{roomId}).

@clokep
Copy link
Member

clokep commented Jul 26, 2022

Is that right? It's not obvious to me, and I'm not sure it would be obvious to a user.

It seems rather obvious to me that if you add it to a space you want it to be findable by other users in a space.

however, if it is knockable, /hierarchy does return all sorts of information about the room, such as its topic.

Note that the information returned is (mostly) the same as the room directory.

@richvdh
Copy link
Member Author

richvdh commented Jul 26, 2022

Is that right? It's not obvious to me, and I'm not sure it would be obvious to a user.

It seems rather obvious to me that if you add it to a space you want it to be findable by other users in a space.

Yes, that's fair... though is it the case that you have to be a member of the space to call /hierarchy on it (or a parent space)?

Also, things like MSC3266 come along and want to apply the same logic to other endpoints.

however, if it is knockable, /hierarchy does return all sorts of information about the room, such as its topic.

Note that the information returned is (mostly) the same as the room directory.

Indeed. But my point is: adding it to the room directory is an explicit operation.

@Mikaela
Copy link

Mikaela commented Jul 27, 2022

however, if it is knockable, /hierarchy does return all sorts of information about the room, such as its topic.

I am confused on what information exactly and I agree with @clokep on knockable rooms being supposed to be findable so they can be knocked in the first place.

Personally I am using knocking in a couple of public world-readable rooms (and would use knock_restricted further once it's widely supported) as I find Matrix moderation tools lacking without an homeserver of my own and it gives me a bit control over do I want to let accounts screaming spambot/malicious in or even contact them first to ensure they are people.

In other protocols with knocking, IRC has separate controls on channel visibility and in Telegram if the link has a atUsername, it's publicly visible by typing part of that name and may also show the group history to everyone using a Telegram client before they select "request join".

@turt2live turt2live added A-Client-Server Issues affecting the CS API wart A point where the protocol is inconsistent or inelegant labels Jul 27, 2022
@richvdh
Copy link
Member Author

richvdh commented Jul 28, 2022

I don't feel like this is just a wart: it feels like it could really surprise users.

I am confused on what information exactly

All the information returned by the /hierarchy endpoint. The spec is linked in the original description.

Personally I am using knocking in a couple of public world-readable rooms

If they are world-readable, there is no issue here. I'm specifically concerned about rooms that are knockable but not world-readable.

@richvdh
Copy link
Member Author

richvdh commented Jul 28, 2022

@turt2live says:

This is expected functionality imo. It's potentially a bit different if the room is knock_restricted (which is currently an OR condition, but I guess could be argued as an AND in this context), but generally a knockable room is considered public

@richvdh
Copy link
Member Author

richvdh commented Jan 13, 2023

seems like nobody else considers this a problem, so I'll close it.

@richvdh richvdh closed this as completed Jan 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Client-Server Issues affecting the CS API wart A point where the protocol is inconsistent or inelegant
Projects
None yet
Development

No branches or pull requests

4 participants