api-docs: Update avatar_url descriptions for feature level 163 change.

Updates the descriptions of the `avatar_url` field in message and
user objects to be clear that the current user must have access
to the other user's real email address in order for the value to
ever be `null`.

Also adds a bullet point to the API changelog feature level 163
entry about this change.
This commit is contained in:
Lauryn Menard 2023-05-26 17:03:39 +02:00 committed by Tim Abbott
parent 389e45625a
commit bb735460e5
2 changed files with 31 additions and 8 deletions

View File

@ -213,6 +213,14 @@ format used by the Zulip server that they are interacting with.
* [`GET /events`](/api/get-events): Event for updating a user's * [`GET /events`](/api/get-events): Event for updating a user's
`delivery_email` is now sent to all users who have access to it, and `delivery_email` is now sent to all users who have access to it, and
is also sent when a user's `email_address_visibility` setting changes. is also sent when a user's `email_address_visibility` setting changes.
* [`GET /events`](/api/get-events), [`POST /register`](/api/register-queue)
[`GET /users`](/api/get-users), [`GET /users/{user_id}`](/api/get-user),
[`GET /users/{email}`](/api/get-user-by-email),
[`GET /users/me`](/api/get-own-user), [`GET /messages`](/api/get-messages),
[`GET /messages/{message_id}`](/api/get-message): Whether the `avatar_url`
field in message and user objects returned by these endpoints can be `null`
now depends on if the current user has access to the other user's real
email address based on the other user's `email_address_visibility` policy.
* [`POST /register`](/api/register-queue), [`PATCH /settings`](/api/update-settings), * [`POST /register`](/api/register-queue), [`PATCH /settings`](/api/update-settings),
[`PATCH /realm/user_settings_defaults`](/api/update-realm-user-settings-defaults): [`PATCH /realm/user_settings_defaults`](/api/update-realm-user-settings-defaults):
Added user setting `email_address_visibility`, to replace the Added user setting `email_address_visibility`, to replace the

View File

@ -17402,10 +17402,18 @@ components:
type: string type: string
nullable: true nullable: true
description: | description: |
The URL of the user's avatar. Can be `null` only if client_gravatar was passed, The URL of the message sender's avatar. Can be `null` only if
which means that the user has not uploaded an avatar in Zulip, and the the current user has access to the sender's real email address
client should compute the gravatar URL by hashing the and `client_gravatar` was `true`.
user's Zulip API email address itself for this user.
If `null`, then the sender has not uploaded an avatar in Zulip,
and the client can compute the gravatar URL by hashing the
sender's email address, which corresponds in this case to their
real email address.
**Changes**: Before Zulip 7.0 (feature level 163), access to a
user's real email address was a realm-level setting. As of this
feature level, `email_address_visibility` is a user setting.
client: client:
type: string type: string
description: | description: |
@ -17970,11 +17978,18 @@ components:
type: string type: string
nullable: true nullable: true
description: | description: |
URL for the user's avatar. Will be `null` if the `client_gravatar` URL for the user's avatar.
query parameter was set to `true` and the user's avatar is hosted by
the Gravatar provider (i.e. the user has never uploaded an avatar).
**Changes**: In Zulip 3.0 (feature level 18), if the client has the Will be `null` if the `client_gravatar`
query parameter was set to `true`, the current user has access to
this user's real email address, and this user's avatar is hosted by
the Gravatar provider (i.e. this user has never uploaded an avatar).
**Changes**: Before Zulip 7.0 (feature level 163), access to a
user's real email address was a realm-level setting. As of this
feature level, `email_address_visibility` is a user setting.
In Zulip 3.0 (feature level 18), if the client has the
`user_avatar_url_field_optional` capability, this will be missing at `user_avatar_url_field_optional` capability, this will be missing at
the server's sole discretion. the server's sole discretion.
avatar_version: avatar_version: