-
Notifications
You must be signed in to change notification settings - Fork 411
MSC4337: Appservice API to supplement user profiles #4337
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
base: main
Are you sure you want to change the base?
Conversation
@@ -0,0 +1,147 @@ | |||
# MSC4337: Appservice API to supplement user profiles |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Implementations:
- Synapse (partial, no unstable prefixes)
- [Bot-SDK][] TBD
- [Implemenation)[] TBD
- `origin_server` The server name of the server requesting the profile, *if* the profile is requested | ||
over federation. Otherwise, omit. | ||
- `from_user_id` The user MxID of the user requesting the profile, *if* the requesting user is known. | ||
Otherwise, omit. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What error is used if both are provided? Is it valid to provide neither?
Application services may respond with a `404` `M_NOT_FOUND` if they do not provide any information | ||
for the given `userId`. They may also choose to do this if they do not want to divulge information | ||
about a given user to another user or service. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How does this affect merging behavior?
|
||
### Application service selection | ||
|
||
Any homeserver with a matching `namespaces.users` field for the requested `userId` should be used |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any homeserver with a matching `namespaces.users` field for the requested `userId` should be used | |
Any application service with a matching `namespaces.users` field for the requested `userId` should be used |
Maybe? I'm not sure what this sentence is saying.
when querying the profile. The resulting profile should be merged together. The order of application services | ||
here is **NOT** stable, and so if multiple application services set the same field on the same user | ||
then there is potential for instability. Server admins should take care not to register multiple application |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this already an issue today with overlapping ASes for other features, or new to this feature?
The homeserver should *always* request the profile from the application service even if the `key` is already | ||
present in the user's stored profile. For instance, given a profile of: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Always sounds strong, it is only when an AS has some control over a user ID.
Rendered