mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
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>
6.9 KiB
6.9 KiB
Messages
- Send a message
- Upload a file
- Edit a message
- Delete a message
- Get messages
- Construct a narrow
- Add an emoji reaction
- Remove an emoji reaction
- Render a message
- Fetch a single message
- Check if messages match a narrow
- Get a message's edit history
- Update personal message flags
- Update personal message flags for narrow
- Mark all messages as read
- Mark messages in a channel as read
- Mark messages in a topic as read
- Get a message's read receipts
- Report a message
Scheduled messages
- Get scheduled messages
- Create a scheduled message
- Edit a scheduled message
- Delete a scheduled message
Message reminders
Drafts
- Get drafts
- Create drafts
- Edit a draft
- Delete a draft
- Get all saved snippets
- Create a saved snippet
- Edit a saved snippet
- Delete a saved snippet
Navigation views
Channels
- Get subscribed channels
- Subscribe to a channel
- Unsubscribe from a channel
- Get subscription status
- Get channel subscribers
- Update subscription settings
- Get all channels
- Get a channel by ID
- Get channel ID
- Create a channel
- Update a channel
- Archive a channel
- Get channel's email address
- Get topics in a channel
- Topic muting
- Update personal preferences for a topic
- Delete a topic
- Add a default channel
- Remove a default channel
- Create a channel folder
- Get channel folders
- Update a channel folder
Users
- Get a user
- Get a user by email
- Get own user
- Get users
- Create a user
- Update a user
- Update a user by email
- Deactivate a user
- Deactivate own user
- Reactivate a user
- Get a user's status
- Update your status
- Update user status
- Set "typing" status
- Set "typing" status for message editing
- Get a user's presence
- Get presence of all users
- Update your presence
- Get attachments
- Delete an attachment
- Update settings
- Get user groups
- Create a user group
- Update a user group
- Deactivate a user group
- Update user group members
- Update subgroups of a user group
- Get user group membership status
- Get user group members
- Get subgroups of a user group
- Mute a user
- Unmute a user
- Get all alert words
- Add alert words
- Remove alert words
Invitations
- Get all invitations
- Send invitations
- Create a reusable invitation link
- Resend an email invitation
- Revoke an email invitation
- Revoke a reusable invitation link
Server & organizations
- Get server settings
- Get linkifiers
- Add a linkifier
- Update a linkifier
- Remove a linkifier
- Reorder linkifiers
- Add a code playground
- Remove a code playground
- Get all custom emoji
- Upload custom emoji
- Deactivate custom emoji
- Get all custom profile fields
- Reorder custom profile fields
- Create a custom profile field
- Update realm-level defaults of user settings
- Get all data exports
- Create a data export
- Get data export consent state
Real-time events
Specialty endpoints
- Fetch an API key (production)
- Fetch an API key (development only)
- Send a test notification to mobile device(s)
- Register E2EE push device
- Mobile notifications
- Add an APNs device token
- Remove an APNs device token
- Add an FCM registration token
- Remove an FCM registration token
- Create BigBlueButton video call