Change API documentation sidebar section headers from h4 to h2,
and the "API documentation home" link from h1 to h2, creating a
proper heading hierarchy under the page title.
Documents the /realm/domains and /realm/domains/{domain} endpoints
and methods. Links to the help center article on restricting
account creation in the descriptions for these endpoints.
Makes slight revisions to the related realm setting in the /register
response and related events in /get-events.
Updates the API changelog to link to the new endpoint docs.
Co-authored-by: Lauryn Menard <lauryn@zulip.com>
Previously, if the user toggles the preview mode in the compose box before
an image/GIF in the drafted message has been uploaded and thumbnailed,
then the loading indicator shown in the preview of the message will never update.
To address this issue, this commit adds a new cheap endpoint to return the
status of the thumbnail generation. This endpoint will be polled by the compose
box to update the loading indicator.
fixes part of #32961.
Creates SubscriptionProperty and SubscriptionPropertyValue schemas
that are used for both this endpoint and the bulk endpoint for
updating multiple personal channel settings at the same time.
Updates the descriptions of both endpoints to link to each other
and to link to relevant help center articles.
Co-authored-by: Lauryn Menard <lauryn@zulip.com>
This commit adds a `POST /remove_client_device`
endpoint to remove a Device record.
Helps mobile clients to cleanup their Device records
when user logs out.
Signed-off-by: Prakhar Pratyush <prakhar@zulip.com>
Updates the placeholder in the curl examples of the API docs for
the user authentication line (-u) to be EMAIL_ADDRESS:API_KEY.
Adds text to the top of the curl tab about the user authentication
line with links to the curl man doc and the authorization header
section of the HTTP headers article.
If the endpoint does not have the user auth line (e.g., fetching
an API key in dev and production), then the text is not added to
the curl tab.
Fixes#479.
This commit adds a `POST /register_client_device` endpoint
to register a logged-in device.
In long term, we plan to create a Device row automatically
via login codepath - when adding support for separate API keys
for each client device. This endpoint will still be required
by clients who are logged-in at that time.
Currently, Device rows are practically useful only for mobile
devices for E2EE push notifications, so they need to call this
endpoint explicitly.
Signed-off-by: Prakhar Pratyush <prakhar@zulip.com>
This adds Nextcloud Talk as video call provider option. The implementation
creates public Nextcloud Talk conversations (roomType=3) via a new
/json/calls/nextcloud_talk/create endpoint that allow guest access without
requiring Nextcloud accounts.
It includes backend changes, frontend changes, testing and documentation.
Fixes#24439.
Co-authored-by: Niloth P <20315308+Niloth-p@users.noreply.github.com>
In preparation for moving the majority of the outgoing webhook
documentation to the help center, we move the payload content,
which is partially generated from zerver/openapi/zulip.yaml, to
a separate article in the API documentation.
This commit documents the `/remotes/push/e2ee/register` endpoint.
We use auth_email="ZULIP_ORG_ID" and auth_api_key="ZULIP_ORG_KEY"
instead of "BOT_EMAIL_ADDRESS" and "BOT_API_KEY".
This commit adds an endpoint `/mobile_push/e2ee/test_notification`
to send an end-to-end encrypted test push notification to the user's
selected mobile device or all of their mobile devices.
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm, --test-custom-db, Debian 12 production install with custom db name and user, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:jammy, , Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga, jammy) (push) Has been cancelled
This commit includes the following changes:
- Add an administrator setting to customize the Welcome Bot
message when sending an invitation.
- Add an API endpoint to test the customized Welcome Bot message
by sending a copy of the message to the administrator.
Fixes#27663.
Co-authored-by: Akarsh Jain <akarsh.jain.790@gmail.com>
The test cases are copied from ReorderCustomProfileFieldTest since we
are imitating the reordering mechanism from custom profile fields to
channel folders.
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm, --test-custom-db, Debian 12 production install with custom db name and user, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:jammy, , Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga, jammy) (push) Has been cancelled
This commit updates the data that gets encrypted to be
the same on both android and iOS.
The data and its format is almost the same as what we send
as FCM payload to android clients with no E2EE support,
changes are:
For send push notification payload:
* 'realm_id`, 'server', 'sender_email', and 'realm_uri' fields
don't exist in the new payload.
* 'event' field renamed to 'type'
* 'stream' and 'stream_id' fields renamed to 'channel_name'
and 'channel_id' respectively.
* The value of 'recipient_type' will be 'channel' & 'direct'
instead of 'stream' & 'private' respectively.
* 'zulip_message_id' field renamed to 'message_id'
For remove push notification payload:
* 'realm_id`, 'server', and 'realm_uri' fields don't exist
in the new payload.
* 'event' field renamed to 'type'
* 'zulip_message_ids' field renamed to 'message_ids' and it's
value will be a JSON array instead of a string.
In the existing iOS client, we have no code of our own involved
in constructing the notifications in the UI, and instead we
leave it to the iOS SDK to do so.
Since, for clients with E2EE support the data is going to be
interpreted by our own code, not by the iOS SDK - we are free
to keep the same data and format.
Co-authored-by: Tim Abbott <tabbott@zulip.com>
This adds a new API endpoint that enables users to report messages for
review by admins or moderators. Reports will be sent to the
`moderate_request_channel`, so it must be configured for this feature to
be enabled.
Fixes part of #20047.
Co-authored-by: Adam Sah <140002+asah@users.noreply.github.com>
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm, --test-custom-db, Debian 12 production install with custom db name and user, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:jammy, , Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga, jammy) (push) Has been cancelled
This commit adds typing indicators for message editing in stream
as well as in dm, if the send typing notification
for corresponding is enabled.
Based on earlier work in #28585.
Co-authored-by: Rohan Gudimetla <rohan.gudimetla07@gmail.com>
Fixes#25719.
The old endpoint for updating a user worked only via user id. Now we add
a different entry to this functionality, fetching the user by
.delivery_email.
update_user_backend becomes the main function handling all the logic,
invoked by the two endpoints.
Earlier, only public data export was possible via `POST /export/realm`
endpoint. This commit adds support to create full data export with
member consent via that endpoint.
Also, this adds a 'export_type' parameter to the dictionaries
in `realm_export` event type and `GET /export/realm` response.
Fixes part of #31201.
The documentation Creates a shared UserStatus schema that's used for
the return value of this new endpoint and for the existing user_status
objects returned by the register queue endpoint.
Co-authored-by: Suyash Vardhan Mathur <suyash.mathur@research.iiit.ac.in>
Fixes#19079.