Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
### ⬆️ Improved

### ✅ Added
- Add support for `message.updated` and `reaction.new` push notifications. [#5935](https://github.com/GetStream/stream-chat-android/pull/5935)
- Add `skipPush` parameter to `ChatClient.sendReaction` to skip sending push notifications for the reaction. [#5935](https://github.com/GetStream/stream-chat-android/pull/5935)

### ⚠️ Changed

Expand Down Expand Up @@ -49,6 +51,7 @@
### ⬆️ Improved

### ✅ Added
- Add `ReactionPushEmojiFactory` for generating emoji codes for reaction push notifications. [#5935](https://github.com/GetStream/stream-chat-android/pull/5935)

### ⚠️ Changed

Expand All @@ -60,6 +63,7 @@
### ⬆️ Improved

### ✅ Added
- Add `ChatUi.reactionPushEmojiFactory` for customizing the emoji codes for reaction push notifications. [#5935](https://github.com/GetStream/stream-chat-android/pull/5935)

### ⚠️ Changed

Expand All @@ -71,6 +75,7 @@
### ⬆️ Improved

### ✅ Added
- Add `ChaTheme.reactionPushEmojiFactory` for customizing the emoji codes for reaction push notifications. [#5935](https://github.com/GetStream/stream-chat-android/pull/5935)

### ⚠️ Changed

Expand Down
3 changes: 2 additions & 1 deletion DEPRECATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,15 @@ This document lists deprecated constructs in the SDK, with their expected time

| API / Feature | Deprecated (warning) | Deprecated (error) | Removed | Notes |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------|-----------------------|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `SendReactionListener.onSendReactionRequest(cid: String?, reaction: Reaction, enforceUnique: Boolean, currentUser: User)` method | 2025.09.22 ⌛ | | | This method has been deprecated. Please use `SendReactionListener.onSendReactionRequest(cid: String?, reaction: Reaction, enforceUnique: Boolean, skipPush: Boolean, currentUser: User)` instead. |
| `AudioWaveVSeekbar`<br/>*compose* | 2025.09.22 ⌛ | | | |
| `StateRegistry.queryThreads()` method | 2025.09.15 ⌛ | | | This method has been deprecated as it is no longer used internally. Please use the `StateRegistry.queryThreads(FilterObject, QuerySorter)` method instead for better flexibility. |
| `ThreadsViewModelFactory(threadLimit, threadReplyLimit, threadParticipantLimit)` constructor | 2025.09.15 ⌛ | | | This constructor has been deprecated. Please use the `ThreadsViewModelFactory(QueryThreadsRequest)` constructor instead, to provide more query options such as filtering and sorting. |
| `QueryThreadsRequest.user` and `QueryThreadsRequest.userId` properties | 2025.09.15 ⌛ | | | These properties have been deprecated as they are ignored in the query. You are only able to query threads for the current user. |
| `AttachmentType.LINK` constant | 2025.09.08 ⌛ | | | This property has been deprecated. The attachment of type 'LINK' is not officially supported, and Attachment.type can never have a value equal to "link". |
| `Attachment.isLink()` method | 2025.09.08 ⌛ | | | This method has been deprecated. The attachment of type 'LINK' is not officially supported, and Attachment.type can never have a value equal to "link". |
| `StreamColors.linkBackground` property | 2025.08.12 ⌛ | | | This property has been deprecated. Please use `MessageTheme.linkBackgroundColor` instead. |
| `SendReactionListener.onSendReactionPrecondition(currentUser: User?, reaction: Reaction)` method | 2025.07.30 ⌛ | | | This method has been deprecated. Please use `SendReactionListener.onSendReactionPrecondition(cid: String?, currentUser: User?, reaction: Reaction) instead`. |
| `SendReactionListener.onSendReactionPrecondition(currentUser: User?, reaction: Reaction)` method | 2025.07.30 ⌛ | | | This method has been deprecated. Please use `SendReactionListener.onSendReactionPrecondition(cid: String?, currentUser: User?, reaction: Reaction)` instead. |
| `NotificationConfig.ignorePushMessagesWhenUserOnline` property | 2025.07.11 ⌛ | | | This property has been deprecated. Please use `NotificationConfig.ignorePushMessageWhenUserOnline(type: String) instead`. |
| `NotificationHandler.showNotification(Channel, Message)` method | 2025.07.11 ⌛ | | | This method has been deprecated. Please use `NotificationHandler.showNotification(ChatNotification) instead`. |
| `io.getstream.chat.android.client.notifications.handler.PushDeviceGenerator` interface | 2025.07.11 ⌛ | | | This interface has been deprecated. Please use `io.getstream.android.push.PushDeviceGenerator` instead. |
Expand Down
47 changes: 45 additions & 2 deletions stream-chat-android-client/api/stream-chat-android-client.api
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,8 @@ public final class io/getstream/chat/android/client/ChatClient {
public final fun sendPoll (Ljava/lang/String;Ljava/lang/String;Lio/getstream/chat/android/models/PollConfig;)Lio/getstream/result/call/Call;
public final fun sendReaction (Lio/getstream/chat/android/models/Reaction;Z)Lio/getstream/result/call/Call;
public final fun sendReaction (Lio/getstream/chat/android/models/Reaction;ZLjava/lang/String;)Lio/getstream/result/call/Call;
public static synthetic fun sendReaction$default (Lio/getstream/chat/android/client/ChatClient;Lio/getstream/chat/android/models/Reaction;ZLjava/lang/String;ILjava/lang/Object;)Lio/getstream/result/call/Call;
public final fun sendReaction (Lio/getstream/chat/android/models/Reaction;ZLjava/lang/String;Z)Lio/getstream/result/call/Call;
public static synthetic fun sendReaction$default (Lio/getstream/chat/android/client/ChatClient;Lio/getstream/chat/android/models/Reaction;ZLjava/lang/String;ZILjava/lang/Object;)Lio/getstream/result/call/Call;
public final fun sendStaticLocation (Ljava/lang/String;DDLjava/lang/String;)Lio/getstream/result/call/Call;
public final fun setLogicRegistry (Lio/getstream/chat/android/client/channel/state/ChannelStateLogicProvider;)V
public static final fun setOFFLINE_SUPPORT_ENABLED (Z)V
Expand Down Expand Up @@ -735,8 +736,10 @@ public final class io/getstream/chat/android/client/channel/ChannelClient {
public final fun sendMessage (Lio/getstream/chat/android/models/Message;)Lio/getstream/result/call/Call;
public final fun sendMessage (Lio/getstream/chat/android/models/Message;Z)Lio/getstream/result/call/Call;
public static synthetic fun sendMessage$default (Lio/getstream/chat/android/client/channel/ChannelClient;Lio/getstream/chat/android/models/Message;ZILjava/lang/Object;)Lio/getstream/result/call/Call;
public final fun sendReaction (Lio/getstream/chat/android/models/Reaction;)Lio/getstream/result/call/Call;
public final fun sendReaction (Lio/getstream/chat/android/models/Reaction;Z)Lio/getstream/result/call/Call;
public static synthetic fun sendReaction$default (Lio/getstream/chat/android/client/channel/ChannelClient;Lio/getstream/chat/android/models/Reaction;ZILjava/lang/Object;)Lio/getstream/result/call/Call;
public final fun sendReaction (Lio/getstream/chat/android/models/Reaction;ZZ)Lio/getstream/result/call/Call;
public static synthetic fun sendReaction$default (Lio/getstream/chat/android/client/channel/ChannelClient;Lio/getstream/chat/android/models/Reaction;ZZILjava/lang/Object;)Lio/getstream/result/call/Call;
public final fun shadowBanUser (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;)Lio/getstream/result/call/Call;
public final fun show ()Lio/getstream/result/call/Call;
public final fun stopTyping ()Lio/getstream/result/call/Call;
Expand Down Expand Up @@ -2696,7 +2699,9 @@ public abstract interface class io/getstream/chat/android/client/logger/ChatLogg
public abstract class io/getstream/chat/android/client/notifications/handler/ChatNotification {
public static final field Companion Lio/getstream/chat/android/client/notifications/handler/ChatNotification$Companion;
public static final field TYPE_MESSAGE_NEW Ljava/lang/String;
public static final field TYPE_MESSAGE_UPDATED Ljava/lang/String;
public static final field TYPE_NOTIFICATION_REMINDER_DUE Ljava/lang/String;
public static final field TYPE_REACTION_NEW Ljava/lang/String;
}

public final class io/getstream/chat/android/client/notifications/handler/ChatNotification$Companion {
Expand All @@ -2715,6 +2720,19 @@ public final class io/getstream/chat/android/client/notifications/handler/ChatNo
public fun toString ()Ljava/lang/String;
}

public final class io/getstream/chat/android/client/notifications/handler/ChatNotification$MessageUpdated : io/getstream/chat/android/client/notifications/handler/ChatNotification {
public fun <init> (Lio/getstream/chat/android/models/Channel;Lio/getstream/chat/android/models/Message;)V
public final fun component1 ()Lio/getstream/chat/android/models/Channel;
public final fun component2 ()Lio/getstream/chat/android/models/Message;
public final fun copy (Lio/getstream/chat/android/models/Channel;Lio/getstream/chat/android/models/Message;)Lio/getstream/chat/android/client/notifications/handler/ChatNotification$MessageUpdated;
public static synthetic fun copy$default (Lio/getstream/chat/android/client/notifications/handler/ChatNotification$MessageUpdated;Lio/getstream/chat/android/models/Channel;Lio/getstream/chat/android/models/Message;ILjava/lang/Object;)Lio/getstream/chat/android/client/notifications/handler/ChatNotification$MessageUpdated;
public fun equals (Ljava/lang/Object;)Z
public final fun getChannel ()Lio/getstream/chat/android/models/Channel;
public final fun getMessage ()Lio/getstream/chat/android/models/Message;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class io/getstream/chat/android/client/notifications/handler/ChatNotification$NotificationReminderDue : io/getstream/chat/android/client/notifications/handler/ChatNotification {
public fun <init> (Lio/getstream/chat/android/models/Channel;Lio/getstream/chat/android/models/Message;)V
public final fun component1 ()Lio/getstream/chat/android/models/Channel;
Expand All @@ -2728,6 +2746,29 @@ public final class io/getstream/chat/android/client/notifications/handler/ChatNo
public fun toString ()Ljava/lang/String;
}

public final class io/getstream/chat/android/client/notifications/handler/ChatNotification$ReactionNew : io/getstream/chat/android/client/notifications/handler/ChatNotification {
public fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/getstream/chat/android/models/Channel;Lio/getstream/chat/android/models/Message;)V
public final fun component1 ()Ljava/lang/String;
public final fun component2 ()Ljava/lang/String;
public final fun component3 ()Ljava/lang/String;
public final fun component4 ()Ljava/lang/String;
public final fun component5 ()Ljava/lang/String;
public final fun component6 ()Lio/getstream/chat/android/models/Channel;
public final fun component7 ()Lio/getstream/chat/android/models/Message;
public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/getstream/chat/android/models/Channel;Lio/getstream/chat/android/models/Message;)Lio/getstream/chat/android/client/notifications/handler/ChatNotification$ReactionNew;
public static synthetic fun copy$default (Lio/getstream/chat/android/client/notifications/handler/ChatNotification$ReactionNew;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/getstream/chat/android/models/Channel;Lio/getstream/chat/android/models/Message;ILjava/lang/Object;)Lio/getstream/chat/android/client/notifications/handler/ChatNotification$ReactionNew;
public fun equals (Ljava/lang/Object;)Z
public final fun getBody ()Ljava/lang/String;
public final fun getChannel ()Lio/getstream/chat/android/models/Channel;
public final fun getMessage ()Lio/getstream/chat/android/models/Message;
public final fun getReactionUserId ()Ljava/lang/String;
public final fun getReactionUserImageUrl ()Ljava/lang/String;
public final fun getTitle ()Ljava/lang/String;
public final fun getType ()Ljava/lang/String;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class io/getstream/chat/android/client/notifications/handler/NotificationConfig {
public fun <init> ()V
public fun <init> (Z)V
Expand Down Expand Up @@ -3152,6 +3193,8 @@ public abstract interface class io/getstream/chat/android/client/plugin/listener
public fun onSendReactionPrecondition (Ljava/lang/String;Lio/getstream/chat/android/models/User;Lio/getstream/chat/android/models/Reaction;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun onSendReactionPrecondition$suspendImpl (Lio/getstream/chat/android/client/plugin/listeners/SendReactionListener;Ljava/lang/String;Lio/getstream/chat/android/models/User;Lio/getstream/chat/android/models/Reaction;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public abstract fun onSendReactionRequest (Ljava/lang/String;Lio/getstream/chat/android/models/Reaction;ZLio/getstream/chat/android/models/User;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun onSendReactionRequest (Ljava/lang/String;Lio/getstream/chat/android/models/Reaction;ZZLio/getstream/chat/android/models/User;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun onSendReactionRequest$suspendImpl (Lio/getstream/chat/android/client/plugin/listeners/SendReactionListener;Ljava/lang/String;Lio/getstream/chat/android/models/Reaction;ZZLio/getstream/chat/android/models/User;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public abstract fun onSendReactionResult (Ljava/lang/String;Lio/getstream/chat/android/models/Reaction;ZLio/getstream/chat/android/models/User;Lio/getstream/result/Result;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

Expand Down
Loading
Loading