-
-
Notifications
You must be signed in to change notification settings - Fork 105
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
Clarify wording of users to include in the user directory search #1386
Comments
For the record, this text was added in matrix-org/matrix-spec-proposals#1569. |
I find your question rather hard to parse, and I'm not sure that either interpretation is completely correct (your venn diagram does not appear to consider users who neither share a room with the calling user nor are members of a public room). It's worth noting that, per matrix-org/matrix-spec-proposals#1569, this is deliberately left somewhat vague to allow local administrators or HS developers to make their own decisions here. Still, as far as I can tell, there are six sets of users:
@turt2live as the original author of the sentence "The search MUST consider local users to the homeserver, and SHOULD query remote users as part of the search," can you clarify the intention here? Why are remote users only a SHOULD while local users are a MUST? What does it mean to "query" remote users? Note that Synapse never performs any federation queries as part of user-directory search. |
2018 was a bit too long ago, unfortunately. I believe the intention was to try and run the feature through an MSC-like process before MSCs were a thing, meaning it's closer to idealism than reality (as somewhat implied by Synapse not querying profiles over federation). |
I feel like we should probably:
|
I'm sorry, it is a hard question to phrase, at least to me. :)
Are you referring to the following?
I don't feel this is particularly vague: spec pretty clearly states MUST and SHOULD, without leaving this point open imo.
Those would be part of the very left (local) very right (remote) rounded rectangles respectively, where they don't intersect with neither public nor shared room circles.
It is relatively clear to me, although you might even go so far as to spell it out, that for all of this, we are regarding at most the users the querying user's hs knows about, i.e. any remote users it finds can only be those who share a room with at least any one local ("same hs") user. The alternative interpretation in bulletpoints, which however I think is incorrect and perhaps is due to a language barrier:
Basically I would be happy if you'd replace the 2 sentences quoted in the OP were replaced by your bullet point list. |
For cross-reference: matrix-org/matrix-spec-proposals#4170 is trying to apply the same room membership requirement to the profile APIs.
I wonder if these shouldn't be a MUST, too. Room membership should already provide the information that is returned by the user directory API. So it's a bit odd that you may not be able to find somebody you already share a room with. |
Link to problem area:
https://spec.matrix.org/v1.5/client-server-api/#post_matrixclientv3user_directorysearch
Issue
Assuming the intersection of these 2 sentences is the correct meaning, I get:
![image](https://user-images.githubusercontent.com/2803622/209116129-1f9776eb-b565-4228-a2b0-33a31eab7efe.png)
This appears to meet what the synapse docs say.
The alternative interpretation would be the conjunction of both sentences, i.e. must show all (local and remote) users in shared and public rooms AND all other local users and should further include remote users. This would appear to match enabling the synapse
user_directory.search_all_users
configuration option.related
#1022
The text was updated successfully, but these errors were encountered: