push_notification: Add support to send E2EE test push notification.

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.
This commit is contained in:
Prakhar Pratyush
2025-08-07 18:35:13 +05:30
committed by Tim Abbott
parent f034a6c3b4
commit 3cbf0e70a2
14 changed files with 506 additions and 13 deletions

View File

@@ -20,6 +20,12 @@ format used by the Zulip server that they are interacting with.
## Changes in Zulip 11.0
**Feature level 420**
* [`POST /mobile_push/e2ee/test_notification`](/api/e2ee-test-notify):
Added a new endpoint to send an end-to-end encrypted test push notification
to the user's selected mobile device or all of their mobile devices.
**Feature level 419**
* [`POST /register`](/api/register-queue): Added `simplified_presence_events`

View File

@@ -157,9 +157,10 @@
* [Fetch an API key (production)](/api/fetch-api-key)
* [Fetch an API key (development only)](/api/dev-fetch-api-key)
* [Send a test notification to mobile device(s)](/api/test-notify)
* [Send an E2EE test notification to mobile device(s)](/api/e2ee-test-notify)
* [Register E2EE push device](/api/register-push-device)
* [Mobile notifications](/api/mobile-notifications)
* [Send a test notification to mobile device(s)](/api/test-notify)
* [Add an APNs device token](/api/add-apns-token)
* [Remove an APNs device token](/api/remove-apns-token)
* [Add an FCM registration token](/api/add-fcm-token)

View File

@@ -59,7 +59,7 @@ Sample JSON data that gets encrypted:
{
"content": "test content",
"message_id": 46,
"pm_users": "6,10,12,15"
"pm_users": "6,10,12,15",
"realm_name": "Zulip Dev",
"realm_url": "http://zulip.testserver",
"recipient_type": "direct",
@@ -106,6 +106,24 @@ Sample JSON data that gets encrypted:
**Changes**: New in Zulip 11.0 (feature level 413).
### Test push notification
A user can trigger [sending an E2EE test push notification](/api/e2ee-test-notify)
to the user's selected mobile device or all of their mobile devices.
Sample JSON data that gets encrypted:
```json
{
"realm_name": "Zulip Dev",
"realm_url": "http://zulip.testserver",
"time": 1754577820,
"type": "test",
"user_id": 10
}
```
**Changes**: New in Zulip 11.0 (feature level 420).
## Future work
This page will eventually also document the formats of the APNs and