Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
3c61335
Add ChatClient.markMessagesAsDelivered function to mark messages as d…
andremion Oct 22, 2025
84b2421
Add delivery receipts support to user privacy settings
andremion Oct 23, 2025
3fc24af
Increase max return count in detekt configuration
andremion Oct 23, 2025
81fa4a7
Introduce a initial DeliveryReceiptsManager to handle message deliver…
andremion Oct 23, 2025
17e3b5d
Introduce MessageReceiptDao and MessageReceiptEntity for handling mes…
andremion Oct 23, 2025
52d7305
Introduce MessageReceipt model and repository for handling message de…
andremion Oct 23, 2025
b4b6e19
Make MessageReceiptRepository `getAllByType` return a Flow and add a …
andremion Oct 24, 2025
ca176ac
Refactor DeliveryReceiptsManager to store receipts locally
andremion Oct 24, 2025
e70ca83
Introduced `MessageReceiptReporter`, a new class responsible for obse…
andremion Oct 24, 2025
cf2c956
Prapare to move internal persistence to the client module
andremion Oct 27, 2025
6b767b4
Add ChatClientDatabase, DateConverter, and ChatClientRepository for m…
andremion Oct 27, 2025
8fa9aeb
Refactor: Move message receipt logic to client
andremion Oct 27, 2025
ee0aca6
Support `message.delivered` event
andremion Oct 28, 2025
a34b888
Refactor: Add default empty implementations for `QueryChannelsListene…
andremion Oct 28, 2025
747fd8f
Deprecate `hasUnread` in favor of `currentUserUnreadCount`
andremion Oct 28, 2025
4c8facf
Add `userRead` and `deliveredReads` helper functions
andremion Oct 28, 2025
e887dcb
Introduce `markChannelsAsDelivered`, a new function to mark the last …
andremion Oct 28, 2025
ee06acd
Refactor MessageReceiptReporter to use a polling mechanism
andremion Oct 28, 2025
76c9e26
Moves the user ID update in the `switchUser` function to after the us…
andremion Oct 29, 2025
03461bc
Rename MessageReceiptReporter.init to start and add logging
andremion Oct 29, 2025
cf4565d
Refactor MessageReceiptManagerTest to standardize verification method…
andremion Oct 29, 2025
9b737d8
Automatically mark messages as delivered when querying channels
andremion Oct 29, 2025
86aae64
Introduce `ChatClientRepository` to encapsulate internal repositories…
andremion Oct 29, 2025
aa09f50
Add MessageReceiptManager and MessageReceiptReporter to ChatClient
andremion Oct 29, 2025
aca0137
Decoupled `MessageReceiptReporter` from `ChatClient` by passing `Chat…
andremion Oct 29, 2025
22c4622
Refactor ChatClientTest to simplify test setup
andremion Oct 29, 2025
5764abe
Rename deliveredReads to deliveredReadsOf
andremion Oct 29, 2025
0125106
feat: Add delivered status indicator for messages
andremion Oct 29, 2025
4c22d97
Fix flaky test
andremion Oct 29, 2025
2ea5eaf
Add more tests
andremion Oct 29, 2025
a127dce
Feat: Add `Channel.readsOf()` extension function
andremion Oct 30, 2025
645b13a
Add pending status indicator snapshot test
andremion Oct 30, 2025
0f1eda6
Add unit test for MessageReceiptRepository instantiation
andremion Oct 30, 2025
8656682
Fix the message status indicator paddings
andremion Oct 30, 2025
0ef7cb3
Mark messages as delivered on push notification
andremion Oct 30, 2025
67dd697
sonar lint
andremion Oct 30, 2025
07317a2
Mark channel as delivered on query a single channel
andremion Oct 30, 2025
98186c3
Provide a ChatClient lazily in ChatNotifications
andremion Oct 30, 2025
c8b8866
Hide the message status indicator when a message is deleted
andremion Oct 30, 2025
662bd05
Do not expose ChatClient.markMessagesAsDelivered
andremion Oct 30, 2025
0ec4d07
feat: Add delivery_events flag to Config
andremion Oct 31, 2025
189b4c0
Refactor: Improve message delivery receipts logic
andremion Oct 31, 2025
8f40115
Add DELIVERY_EVENTS to ChannelCapabilities
andremion Oct 31, 2025
eb33b8c
Refactor: Make MessageReceiptManager functions suspend
andremion Oct 31, 2025
cf17138
Refactor: Lazy initialize messageReceiptManager in MessageDeliveredPl…
andremion Oct 31, 2025
6a6952a
Fix: Fetch message from API when marking as delivered by ID
andremion Oct 31, 2025
ec9d868
Skip sending delivery receipts for shadowed messages and muted users
andremion Oct 31, 2025
0e4f258
Add deliveryEventsEnabled to channel configuration and mapping
andremion Oct 31, 2025
0e0f904
Add message info option to message menu
andremion Nov 3, 2025
30f08f5
Extra PaneTitle and PaneRow components for reusing
andremion Nov 3, 2025
a8e9215
Add message info component to display read and delivered status
andremion Nov 3, 2025
9bc107e
Stop using kluent assertions
andremion Nov 3, 2025
2623af5
Update read and delivered status checks to include equal comparison
andremion Nov 3, 2025
513c2fd
Add user profile privacy settings screen
andremion Nov 3, 2025
c586836
Add privacy settings mapping to domain model
andremion Nov 3, 2025
89655f6
Fix message info component to display read and delivered timestamps c…
andremion Nov 4, 2025
0fbb459
typo
andremion Nov 4, 2025
7e134c3
CHANGELOG
andremion Nov 4, 2025
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
9 changes: 8 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,12 @@
### ⬆️ Improved

### ✅ Added
- Introduce `Channel.userRead` extension function to get the read status of a specific user in the channel. [#5979](https://github.com/GetStream/stream-chat-android/pull/5979)
- Introduce `Channel.readsOf` extension function to get the read statuses representing which users have read the given message in the channel. [#5979](https://github.com/GetStream/stream-chat-android/pull/5979)
- Introduce message delivery receipts. [#5979](https://github.com/GetStream/stream-chat-android/pull/5979)

### ⚠️ Changed
- Deprecate `Channel.hasUnread` property in favor of `Channel.currentUserUnreadCount`. [#5979](https://github.com/GetStream/stream-chat-android/pull/5979)

### ❌ Removed

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

### ✅ Added
- Introduce message delivery receipts. [#5979](https://github.com/GetStream/stream-chat-android/pull/5979)

### ⚠️ Changed

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

### ✅ Added
- Introduce message delivery receipts. [#5979](https://github.com/GetStream/stream-chat-android/pull/5979)

### ⚠️ Changed

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

### ✅ Added
- Introduce message delivery receipts. [#5979](https://github.com/GetStream/stream-chat-android/pull/5979)

### ⚠️ Changed

Expand Down Expand Up @@ -3573,7 +3580,7 @@ The following items are breaking changes, since it was very important to improve
- Added `ChatUI.channelNameFormatter` to allow customizing the channel's name format. [#3068](https://github.com/GetStream/stream-chat-android/pull/3068)
- Added a customizable height attribute to SearchInputView [#3081](https://github.com/GetStream/stream-chat-android/pull/3081)
- Added `ChatUI.dateFormatter` to allow customizing the way the dates are formatted. [#3085](https://github.com/GetStream/stream-chat-android/pull/3085)
- Added ways to show/hide the delivery status indicators for channels and messages. [#3102](https://github.com/GetStream/stream-chat-android/pull/3102)
- Added ways to show/hide the delivery receipts indicators for channels and messages. [#3102](https://github.com/GetStream/stream-chat-android/pull/3102)

### ⚠️ Changed
- Disabled editing on Giphy messages given that it's breaking the UX and can override the GIF that was previously put in. [#3071](https://github.com/GetStream/stream-chat-android/pull/3071)
Expand Down
4 changes: 2 additions & 2 deletions config/detekt/detekt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -731,8 +731,8 @@ style:
active: false
ReturnCount:
active: true
max: 2
excludedFunctions: 'equals'
max: 10
excludedFunctions: ['equals']
excludeLabeled: false
excludeReturnFromLambda: true
excludeGuardClauses: false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import io.getstream.chat.android.client.events.ConnectedEvent
import io.getstream.chat.android.client.events.MarkAllReadEvent
import io.getstream.chat.android.client.events.MemberAddedEvent
import io.getstream.chat.android.client.events.MemberRemovedEvent
import io.getstream.chat.android.client.events.MessageDeliveredEvent
import io.getstream.chat.android.client.events.MessageReadEvent
import io.getstream.chat.android.client.events.MessageUpdatedEvent
import io.getstream.chat.android.client.events.NewMessageEvent
Expand Down Expand Up @@ -260,6 +261,26 @@ public fun randomMessageReadEvent(
)
}

public fun randomMessageDeliveredEvent(
createdAt: Date = Date(),
user: User = randomUser(),
cid: String = randomCID(),
channelType: String = randomString(),
channelId: String = randomString(),
lastDeliveredAt: Date = randomDate(),
lastDeliveredMessageId: String = randomString(),
) = MessageDeliveredEvent(
type = EventType.MESSAGE_DELIVERED,
createdAt = createdAt,
rawCreatedAt = streamFormatter.format(createdAt),
user = user,
cid = cid,
channelType = channelType,
channelId = channelId,
lastDeliveredAt = lastDeliveredAt,
lastDeliveredMessageId = lastDeliveredMessageId,
)

public fun randomNotificationMarkReadEvent(
createdAt: Date = Date(),
user: User = randomUser(),
Expand Down
63 changes: 54 additions & 9 deletions stream-chat-android-client/api/stream-chat-android-client.api
Original file line number Diff line number Diff line change
Expand Up @@ -1619,6 +1619,33 @@ public final class io/getstream/chat/android/client/events/MessageDeletedEvent :
public fun toString ()Ljava/lang/String;
}

public final class io/getstream/chat/android/client/events/MessageDeliveredEvent : io/getstream/chat/android/client/events/CidEvent, io/getstream/chat/android/client/events/UserEvent {
public fun <init> (Ljava/lang/String;Ljava/util/Date;Ljava/lang/String;Lio/getstream/chat/android/models/User;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Date;Ljava/lang/String;)V
public final fun component1 ()Ljava/lang/String;
public final fun component2 ()Ljava/util/Date;
public final fun component3 ()Ljava/lang/String;
public final fun component4 ()Lio/getstream/chat/android/models/User;
public final fun component5 ()Ljava/lang/String;
public final fun component6 ()Ljava/lang/String;
public final fun component7 ()Ljava/lang/String;
public final fun component8 ()Ljava/util/Date;
public final fun component9 ()Ljava/lang/String;
public final fun copy (Ljava/lang/String;Ljava/util/Date;Ljava/lang/String;Lio/getstream/chat/android/models/User;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Date;Ljava/lang/String;)Lio/getstream/chat/android/client/events/MessageDeliveredEvent;
public static synthetic fun copy$default (Lio/getstream/chat/android/client/events/MessageDeliveredEvent;Ljava/lang/String;Ljava/util/Date;Ljava/lang/String;Lio/getstream/chat/android/models/User;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Date;Ljava/lang/String;ILjava/lang/Object;)Lio/getstream/chat/android/client/events/MessageDeliveredEvent;
public fun equals (Ljava/lang/Object;)Z
public fun getChannelId ()Ljava/lang/String;
public fun getChannelType ()Ljava/lang/String;
public fun getCid ()Ljava/lang/String;
public fun getCreatedAt ()Ljava/util/Date;
public final fun getLastDeliveredAt ()Ljava/util/Date;
public final fun getLastDeliveredMessageId ()Ljava/lang/String;
public fun getRawCreatedAt ()Ljava/lang/String;
public fun getType ()Ljava/lang/String;
public fun getUser ()Lio/getstream/chat/android/models/User;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class io/getstream/chat/android/client/events/MessageReadEvent : io/getstream/chat/android/client/events/CidEvent, io/getstream/chat/android/client/events/UserEvent {
public fun <init> (Ljava/lang/String;Ljava/util/Date;Ljava/lang/String;Lio/getstream/chat/android/models/User;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/getstream/chat/android/models/ThreadInfo;)V
public synthetic fun <init> (Ljava/lang/String;Ljava/util/Date;Ljava/lang/String;Lio/getstream/chat/android/models/User;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/getstream/chat/android/models/ThreadInfo;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
Expand Down Expand Up @@ -2631,12 +2658,15 @@ public final class io/getstream/chat/android/client/extensions/ChannelExtensionK
public static final fun countUnreadMentionsForUser (Lio/getstream/chat/android/models/Channel;Lio/getstream/chat/android/models/User;)I
public static final fun currentUserUnreadCount (Lio/getstream/chat/android/models/Channel;Ljava/lang/String;)I
public static synthetic fun currentUserUnreadCount$default (Lio/getstream/chat/android/models/Channel;Ljava/lang/String;ILjava/lang/Object;)I
public static final fun deliveredReadsOf (Lio/getstream/chat/android/models/Channel;Lio/getstream/chat/android/models/Message;)Ljava/util/List;
public static final fun isAnonymousChannel (Lio/getstream/chat/android/models/Channel;)Z
public static final fun isArchive (Lio/getstream/chat/android/models/Channel;)Z
public static final fun isMutedFor (Lio/getstream/chat/android/models/Channel;Lio/getstream/chat/android/models/User;)Z
public static final fun isPinned (Lio/getstream/chat/android/models/Channel;)Z
public static final fun readsOf (Lio/getstream/chat/android/models/Channel;Lio/getstream/chat/android/models/Message;)Ljava/util/List;
public static final fun syncUnreadCountWithReads (Lio/getstream/chat/android/models/Channel;Ljava/lang/String;)Lio/getstream/chat/android/models/Channel;
public static synthetic fun syncUnreadCountWithReads$default (Lio/getstream/chat/android/models/Channel;Ljava/lang/String;ILjava/lang/Object;)Lio/getstream/chat/android/models/Channel;
public static final fun userRead (Lio/getstream/chat/android/models/Channel;Ljava/lang/String;)Lio/getstream/chat/android/models/ChannelUserRead;
}

public final class io/getstream/chat/android/client/extensions/FlowExtensions {
Expand Down Expand Up @@ -2982,6 +3012,24 @@ public abstract interface class io/getstream/chat/android/client/persistance/rep
public abstract fun createRepositoryFactory (Lio/getstream/chat/android/models/User;)Lio/getstream/chat/android/client/persistance/repository/factory/RepositoryFactory;
}

public final class io/getstream/chat/android/client/persistence/db/ChatClientDatabase_Impl {
public static final field Companion Lio/getstream/chat/android/client/persistence/db/ChatClientDatabase$Companion;
public fun <init> ()V
public fun clearAllTables ()V
public fun getAutoMigrations (Ljava/util/Map;)Ljava/util/List;
public fun getRequiredAutoMigrationSpecs ()Ljava/util/Set;
public fun messageReceiptDao ()Lio/getstream/chat/android/client/persistence/db/dao/MessageReceiptDao;
}

public final class io/getstream/chat/android/client/persistence/db/dao/MessageReceiptDao_Impl : io/getstream/chat/android/client/persistence/db/dao/MessageReceiptDao {
public fun <init> (Landroidx/room/RoomDatabase;)V
public fun deleteAll (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun deleteByMessageIds (Ljava/util/List;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static fun getRequiredConverters ()Ljava/util/List;
public fun selectAllByType (Ljava/lang/String;ILkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun upsert (Ljava/util/List;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public abstract interface class io/getstream/chat/android/client/plugin/Plugin : io/getstream/chat/android/client/plugin/DependencyResolver, io/getstream/chat/android/client/plugin/listeners/BlockUserListener, io/getstream/chat/android/client/plugin/listeners/ChannelMarkReadListener, io/getstream/chat/android/client/plugin/listeners/CreateChannelListener, io/getstream/chat/android/client/plugin/listeners/DeleteChannelListener, io/getstream/chat/android/client/plugin/listeners/DeleteMessageForMeListener, io/getstream/chat/android/client/plugin/listeners/DeleteMessageListener, io/getstream/chat/android/client/plugin/listeners/DeleteReactionListener, io/getstream/chat/android/client/plugin/listeners/DraftMessageListener, io/getstream/chat/android/client/plugin/listeners/EditMessageListener, io/getstream/chat/android/client/plugin/listeners/FetchCurrentUserListener, io/getstream/chat/android/client/plugin/listeners/GetMessageListener, io/getstream/chat/android/client/plugin/listeners/HideChannelListener, io/getstream/chat/android/client/plugin/listeners/LiveLocationListener, io/getstream/chat/android/client/plugin/listeners/MarkAllReadListener, io/getstream/chat/android/client/plugin/listeners/PushPreferencesListener, io/getstream/chat/android/client/plugin/listeners/QueryBlockedUsersListener, io/getstream/chat/android/client/plugin/listeners/QueryChannelListener, io/getstream/chat/android/client/plugin/listeners/QueryChannelsListener, io/getstream/chat/android/client/plugin/listeners/QueryMembersListener, io/getstream/chat/android/client/plugin/listeners/QueryThreadsListener, io/getstream/chat/android/client/plugin/listeners/SendAttachmentListener, io/getstream/chat/android/client/plugin/listeners/SendGiphyListener, io/getstream/chat/android/client/plugin/listeners/SendMessageListener, io/getstream/chat/android/client/plugin/listeners/SendReactionListener, io/getstream/chat/android/client/plugin/listeners/ShuffleGiphyListener, io/getstream/chat/android/client/plugin/listeners/ThreadQueryListener, io/getstream/chat/android/client/plugin/listeners/TypingEventListener, io/getstream/chat/android/client/plugin/listeners/UnblockUserListener {
public fun getErrorHandler ()Lio/getstream/chat/android/client/errorhandler/ErrorHandler;
public fun onAttachmentSendRequest (Ljava/lang/String;Ljava/lang/String;Lio/getstream/chat/android/models/Message;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
Expand Down Expand Up @@ -3061,12 +3109,6 @@ public abstract interface class io/getstream/chat/android/client/plugin/Plugin :
public static synthetic fun onQueryChannelRequest$suspendImpl (Lio/getstream/chat/android/client/plugin/Plugin;Ljava/lang/String;Ljava/lang/String;Lio/getstream/chat/android/client/api/models/QueryChannelRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun onQueryChannelResult (Lio/getstream/result/Result;Ljava/lang/String;Ljava/lang/String;Lio/getstream/chat/android/client/api/models/QueryChannelRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun onQueryChannelResult$suspendImpl (Lio/getstream/chat/android/client/plugin/Plugin;Lio/getstream/result/Result;Ljava/lang/String;Ljava/lang/String;Lio/getstream/chat/android/client/api/models/QueryChannelRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun onQueryChannelsPrecondition (Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun onQueryChannelsPrecondition$suspendImpl (Lio/getstream/chat/android/client/plugin/Plugin;Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun onQueryChannelsRequest (Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun onQueryChannelsRequest$suspendImpl (Lio/getstream/chat/android/client/plugin/Plugin;Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun onQueryChannelsResult (Lio/getstream/result/Result;Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun onQueryChannelsResult$suspendImpl (Lio/getstream/chat/android/client/plugin/Plugin;Lio/getstream/result/Result;Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun onQueryDraftMessagesResult (Lio/getstream/result/Result;Lio/getstream/chat/android/models/FilterObject;ILjava/lang/String;Lio/getstream/chat/android/models/querysort/QuerySorter;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun onQueryDraftMessagesResult (Lio/getstream/result/Result;Ljava/lang/Integer;Ljava/lang/Integer;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun onQueryDraftMessagesResult$suspendImpl (Lio/getstream/chat/android/client/plugin/Plugin;Lio/getstream/result/Result;Lio/getstream/chat/android/models/FilterObject;ILjava/lang/String;Lio/getstream/chat/android/models/querysort/QuerySorter;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
Expand Down Expand Up @@ -3203,9 +3245,12 @@ public abstract interface class io/getstream/chat/android/client/plugin/listener
}

public abstract interface class io/getstream/chat/android/client/plugin/listeners/QueryChannelsListener {
public abstract fun onQueryChannelsPrecondition (Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public abstract fun onQueryChannelsRequest (Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public abstract fun onQueryChannelsResult (Lio/getstream/result/Result;Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun onQueryChannelsPrecondition (Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun onQueryChannelsPrecondition$suspendImpl (Lio/getstream/chat/android/client/plugin/listeners/QueryChannelsListener;Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun onQueryChannelsRequest (Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun onQueryChannelsRequest$suspendImpl (Lio/getstream/chat/android/client/plugin/listeners/QueryChannelsListener;Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun onQueryChannelsResult (Lio/getstream/result/Result;Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun onQueryChannelsResult$suspendImpl (Lio/getstream/chat/android/client/plugin/listeners/QueryChannelsListener;Lio/getstream/result/Result;Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public abstract interface class io/getstream/chat/android/client/plugin/listeners/QueryMembersListener {
Expand Down
6 changes: 6 additions & 0 deletions stream-chat-android-client/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,10 @@ dependencies {
implementation(libs.okhttp.logging.interceptor)
implementation(libs.ok2curl)

implementation(libs.androidx.room.runtime)
implementation(libs.androidx.room.ktx)
ksp(libs.androidx.room.compiler)

// Unused dependencies: The following dependencies (appcompat, constraintlayout, livedata-ktx) are not used in the
// `stream-chat-android-client` module. They are still declared here to prevent potential breaking changes for
// integrations that might be relying on them transitively. Consider removing them in future major releases.
Expand All @@ -111,8 +115,10 @@ dependencies {
testImplementation(libs.stream.result)
testImplementation(libs.androidx.test.junit)
testImplementation(libs.androidx.lifecycle.runtime.testing)
testImplementation(libs.androidx.work.testing)
testImplementation(libs.junit.jupiter.api)
testImplementation(libs.junit.jupiter.params)
testImplementation(libs.turbine)
testRuntimeOnly(libs.junit.jupiter.engine)
testRuntimeOnly(libs.junit.vintage.engine)

Expand Down
Loading
Loading