-
Notifications
You must be signed in to change notification settings - Fork 308
Add support for Push V3 #5935
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
Add support for Push V3 #5935
Conversation
SDK Size Comparison 📏
|
|
DB Entities have been updated. Do we need to upgrade DB Version? |
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.
Pull Request Overview
This PR adds comprehensive support for Push V3 notifications, specifically introducing message.updated and reaction.new push notifications, along with the ability to skip push notifications for reactions. The implementation includes customizable emoji codes for reaction push notifications through a new factory pattern.
- Add support for
message.updatedandreaction.newpush notification types in the notification system - Introduce
skipPushparameter to reaction sending methods to prevent push notifications when needed - Add
ReactionPushEmojiFactoryfor customizing emoji codes displayed in reaction push notifications
Reviewed Changes
Copilot reviewed 71 out of 71 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| stream-chat-android-client | Adds new push notification types, skipPush parameter to reaction APIs, and notification handling logic |
| stream-chat-android-core | Extends Reaction model with emojiCode and skipPush fields, updates payload validation for new notification types |
| stream-chat-android-offline | Updates database schema and mappers to support new reaction fields, handles offline sync for skipPush/emojiCode |
| stream-chat-android-state | Adds support for skipPush in reaction state management and error handling |
| stream-chat-android-ui-common | Introduces ReactionPushEmojiFactory and ReactionDefaults, updates MessageListController for new reaction parameters |
| stream-chat-android-ui-components | Integrates ReactionPushEmojiFactory into ChatUI, updates MessageListViewModel to handle emojiCode and skipPush |
| stream-chat-android-compose | Adds ReactionPushEmojiFactory to ChatTheme, updates reaction components to use emoji codes for push notifications |
Comments suppressed due to low confidence (2)
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
# Conflicts: # DEPRECATIONS.md # stream-chat-android-state/src/main/java/io/getstream/chat/android/state/plugin/listener/internal/SendReactionListenerState.kt
andremion
left a comment
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.
Can you add more tests to increase the coverage a bit more on the new code of the LLC? ChatNotificationHandler, etc
stream-chat-android-client/src/main/java/io/getstream/chat/android/client/api/ChatApi.kt
Show resolved
Hide resolved
...oid-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/helper/ReactionDefaults.kt
Show resolved
Hide resolved
...ommon/src/main/kotlin/io/getstream/chat/android/ui/common/helper/ReactionPushEmojiFactory.kt
Outdated
Show resolved
Hide resolved
Added some extra Android tests here: 9e6d7fd |
|


🎯 Goal
message.updatedandreaction.newpush notifications.skipPushparameter toChatClient.sendReactionto prevent sending push notifications for the reaction.ReactionPushEmojiFactoryfor customising the default emojis for reaction psh notifications.Resolves: https://linear.app/stream/issue/AND-733/add-support-for-push-v3-messageupdated-reactionnew
🛠 Implementation details
LLC
ChatNotification.MessageUpdatedandChatNotifications.ReactionNew+ default handlingskipPushparameter toChatClient.sendReactionto prevent sending push notifications for the reactionemojiCode/skipPushtoReactionOffline
emojiCode/skipPushto ensure the args are respected when syncing offline reactionsUI common
ReactionPushEmojiFactoryfor customising the default emojis for reaction psh notifications.XML
ChatUi.reactionPushEmojiFactoryfor customizing the emoji codes for reaction push notificationsCompose
ChaTheme.reactionPushEmojiFactoryfor customizing the emoji codes for reaction push notifications🎨 UI Changes
🧪 Testing
reaction.new:message.updatedclient.updateMessage(), but NOT byclient.partialUpdateMessage(), so simple edit will not work.To make sure
client.updateMessage()is called, you can do the following:client.updateMessage())message.updated