Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
0badf78
Add missing arguments to `CreatePoll`.
VelikovPetar Oct 6, 2025
1d5c0ae
Add `getPoll` operation.
VelikovPetar Oct 6, 2025
feecf44
Add `partialUpdatePoll` operation.
VelikovPetar Oct 6, 2025
b0bb392
Rework close poll to use partialUpdatePoll internally.
VelikovPetar Oct 6, 2025
baacd7d
Add `createPollOption` and `updatePollOption`.
VelikovPetar Oct 7, 2025
b08a0f7
Add `deletePollOption`.
VelikovPetar Oct 7, 2025
77d1683
Add `deletePollOption`.
VelikovPetar Oct 7, 2025
0bb5a91
Merge branch 'develop' into feature/align-polls-api
VelikovPetar Oct 14, 2025
1787a28
Add `QueryPolls`.
VelikovPetar Oct 14, 2025
06bec1e
Add `QueryPollVotes`.
VelikovPetar Oct 15, 2025
51d3f8d
Deprecate `ChatClient.suggestPollOption.
VelikovPetar Oct 15, 2025
4a3740b
Bump ChatDatabase version.
VelikovPetar Oct 15, 2025
fcba65c
Update PollConfig to prevent breaking changes.
VelikovPetar Oct 20, 2025
4ac8a27
Re-organize ChatClient poll operations.
VelikovPetar Oct 20, 2025
6253a3c
Merge branch 'develop' into feature/align-polls-api
VelikovPetar Oct 20, 2025
63bc329
Update CHANGELOG.md.
VelikovPetar Oct 20, 2025
b7c9efc
Fix tests.
VelikovPetar Oct 20, 2025
d677a6c
Improve test coverage.
VelikovPetar Oct 20, 2025
818740d
Update stream-chat-android-client/src/main/java/io/getstream/chat/and…
VelikovPetar Oct 20, 2025
5fb9862
Merge branch 'develop' into feature/align-polls-api
VelikovPetar Oct 20, 2025
3960e16
Improve test coverage.
VelikovPetar Oct 20, 2025
92cb2ac
Merge branch 'develop' into feature/align-polls-api
VelikovPetar Oct 20, 2025
42ec998
Bump DB version.
VelikovPetar Oct 20, 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
14 changes: 13 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,18 @@

### ✅ Added
- Add support for deleting messages only for the current user. [#5967](https://github.com/GetStream/stream-chat-android/pull/5967)
- Add `ChatClient.getPoll(pollId: String)` for retrieving a poll by its ID. [#5966](https://github.com/GetStream/stream-chat-android/pull/5966)
- Add `ChatClient.partialUpdatePoll(pollId: String, set: Map<String, Any>, unset: List<String>)` for partially updating a poll. [#5966](https://github.com/GetStream/stream-chat-android/pull/5966)
- Add `ChatClient.createPollOption(pollId: String, option: CreatePollOptionRequest)` for creating a poll option. [#5966](https://github.com/GetStream/stream-chat-android/pull/5966)
- Add `ChatClient.updatePollOption(pollId: String, option: UpdatePollOptionRequest)` for updating a poll option. [#5966](https://github.com/GetStream/stream-chat-android/pull/5966)
- Add `ChatClient.deletePollOption(pollId: String, optionId: String)` for deleting a poll option. [#5966](https://github.com/GetStream/stream-chat-android/pull/5966)
- Add `ChatClient.queryPollVotes(pollId: String, filter: FilterObject?, limit: Int?, next: String?, sort: QuerySorter<Vote>?)` for querying poll votes with filtering, sorting, and pagination support. [#5966](https://github.com/GetStream/stream-chat-android/pull/5966)
- Add `ChatClient.queryPolls(filter: FilterObject?, limit: Int?, next: String?, sort: QuerySorter<Poll>?)` for querying polls with filtering, sorting, and pagination support. [#5966](https://github.com/GetStream/stream-chat-android/pull/5966)
- Add `PollConfig` constructor with support for extra custom data for the poll and the poll options. [#5966](https://github.com/GetStream/stream-chat-android/pull/5966)

### ⚠️ Changed
- Deprecate `PollConfig` constructor without support for custom data. [#5966](https://github.com/GetStream/stream-chat-android/pull/5966)
- Deprecate `ChatClient.suggestPollOption(pollId: String, option: String)` in favour of `ChatClient.createPollOption(pollId: String, option: CreatePollOptionRequest)`. [#5966](https://github.com/GetStream/stream-chat-android/pull/5966)

### ❌ Removed

Expand All @@ -36,7 +46,7 @@

## stream-chat-android-state
### 🐞 Fixed
- Fix poll state getting overridden by `message.new` events. [#5963](https://github.com/GetStream/stream-chat-android/pull/5963)
- Fix poll state getting overridden by `message.updated` events. [#5963](https://github.com/GetStream/stream-chat-android/pull/5963)

### ⬆️ Improved

Expand All @@ -59,6 +69,7 @@

## stream-chat-android-ui-components
### 🐞 Fixed
- Disallow creating polls in threads. [#5970](https://github.com/GetStream/stream-chat-android/pull/5970)

### ⬆️ Improved

Expand All @@ -70,6 +81,7 @@

## stream-chat-android-compose
### 🐞 Fixed
- Disallow creating polls in threads. [#5970](https://github.com/GetStream/stream-chat-android/pull/5970)

### ⬆️ Improved

Expand Down
2 changes: 2 additions & 0 deletions DEPRECATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ This document lists deprecated constructs in the SDK, with their expected time

| API / Feature | Deprecated (warning) | Deprecated (error) | Removed | Notes |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------|-----------------------|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `PollConfig(String, List<String>, String, VotingVisibility, Boolean, Int, Boolean, Boolean)` constructor | 2025.10.20 ⌛ | | | This constructor has been deprecated. Please use `PollConfig(String, List<PollOption>, String, VotingVisibility, Boolean, Int, Boolean, Boolean, Map<String, Any>)` instead. |
| `ChatClient.suggestPollOption(pollId: String, option: String)` method | 2025.10.20 ⌛ | | | This method has been deprecated. Please use `ChatClient.createPollOption(pollId: String, option: CreatePollOptionRequest)` instead. |
| `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. |
Expand Down
40 changes: 40 additions & 0 deletions stream-chat-android-client/api/stream-chat-android-client.api
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ public final class io/getstream/chat/android/client/ChatClient {
public final fun createChannel (Ljava/lang/String;Ljava/lang/String;Lio/getstream/chat/android/client/query/CreateChannelParams;)Lio/getstream/result/call/Call;
public final fun createChannel (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/Map;)Lio/getstream/result/call/Call;
public final fun createDraftMessage (Ljava/lang/String;Ljava/lang/String;Lio/getstream/chat/android/models/DraftMessage;)Lio/getstream/result/call/Call;
public final fun createPollOption (Ljava/lang/String;Lio/getstream/chat/android/client/api/models/CreatePollOptionRequest;)Lio/getstream/result/call/Call;
public final fun createReminder (Ljava/lang/String;Ljava/util/Date;)Lio/getstream/result/call/Call;
public final fun createVideoCall (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/getstream/result/call/Call;
public final fun deleteChannel (Ljava/lang/String;Ljava/lang/String;)Lio/getstream/result/call/Call;
Expand All @@ -55,6 +56,7 @@ public final class io/getstream/chat/android/client/ChatClient {
public static synthetic fun deleteMessage$default (Lio/getstream/chat/android/client/ChatClient;Ljava/lang/String;ZILjava/lang/Object;)Lio/getstream/result/call/Call;
public final fun deleteMessageForMe (Ljava/lang/String;)Lio/getstream/result/call/Call;
public final fun deletePoll (Ljava/lang/String;)Lio/getstream/result/call/Call;
public final fun deletePollOption (Ljava/lang/String;Ljava/lang/String;)Lio/getstream/result/call/Call;
public final fun deleteReaction (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/getstream/result/call/Call;
public static synthetic fun deleteReaction$default (Lio/getstream/chat/android/client/ChatClient;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lio/getstream/result/call/Call;
public final fun deleteReminder (Ljava/lang/String;)Lio/getstream/result/call/Call;
Expand Down Expand Up @@ -90,6 +92,7 @@ public final class io/getstream/chat/android/client/ChatClient {
public static final fun getOFFLINE_SUPPORT_ENABLED ()Z
public final fun getPendingMessage (Ljava/lang/String;)Lio/getstream/result/call/Call;
public final fun getPinnedMessages (Ljava/lang/String;Ljava/lang/String;ILio/getstream/chat/android/models/querysort/QuerySorter;Lio/getstream/chat/android/client/api/models/PinnedMessagesPagination;)Lio/getstream/result/call/Call;
public final fun getPoll (Ljava/lang/String;)Lio/getstream/result/call/Call;
public final fun getReactions (Ljava/lang/String;II)Lio/getstream/result/call/Call;
public final fun getReplies (Ljava/lang/String;I)Lio/getstream/result/call/Call;
public final fun getRepliesMore (Ljava/lang/String;Ljava/lang/String;I)Lio/getstream/result/call/Call;
Expand Down Expand Up @@ -127,6 +130,8 @@ public final class io/getstream/chat/android/client/ChatClient {
public static synthetic fun partialUpdateMember$default (Lio/getstream/chat/android/client/ChatClient;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljava/util/List;ILjava/lang/Object;)Lio/getstream/result/call/Call;
public final fun partialUpdateMessage (Ljava/lang/String;Ljava/util/Map;Ljava/util/List;)Lio/getstream/result/call/Call;
public static synthetic fun partialUpdateMessage$default (Lio/getstream/chat/android/client/ChatClient;Ljava/lang/String;Ljava/util/Map;Ljava/util/List;ILjava/lang/Object;)Lio/getstream/result/call/Call;
public final fun partialUpdatePoll (Ljava/lang/String;Ljava/util/Map;Ljava/util/List;)Lio/getstream/result/call/Call;
public static synthetic fun partialUpdatePoll$default (Lio/getstream/chat/android/client/ChatClient;Ljava/lang/String;Ljava/util/Map;Ljava/util/List;ILjava/lang/Object;)Lio/getstream/result/call/Call;
public final fun partialUpdateThread (Ljava/lang/String;Ljava/util/Map;Ljava/util/List;)Lio/getstream/result/call/Call;
public static synthetic fun partialUpdateThread$default (Lio/getstream/chat/android/client/ChatClient;Ljava/lang/String;Ljava/util/Map;Ljava/util/List;ILjava/lang/Object;)Lio/getstream/result/call/Call;
public final fun partialUpdateUser (Ljava/lang/String;Ljava/util/Map;Ljava/util/List;)Lio/getstream/result/call/Call;
Expand Down Expand Up @@ -154,6 +159,10 @@ public final class io/getstream/chat/android/client/ChatClient {
public static synthetic fun queryDrafts$default (Lio/getstream/chat/android/client/ChatClient;Lio/getstream/chat/android/models/FilterObject;ILjava/lang/String;Lio/getstream/chat/android/models/querysort/QuerySorter;ILjava/lang/Object;)Lio/getstream/result/call/Call;
public final fun queryMembers (Ljava/lang/String;Ljava/lang/String;IILio/getstream/chat/android/models/FilterObject;Lio/getstream/chat/android/models/querysort/QuerySorter;Ljava/util/List;)Lio/getstream/result/call/Call;
public static synthetic fun queryMembers$default (Lio/getstream/chat/android/client/ChatClient;Ljava/lang/String;Ljava/lang/String;IILio/getstream/chat/android/models/FilterObject;Lio/getstream/chat/android/models/querysort/QuerySorter;Ljava/util/List;ILjava/lang/Object;)Lio/getstream/result/call/Call;
public final fun queryPollVotes (Ljava/lang/String;Lio/getstream/chat/android/models/FilterObject;Ljava/lang/Integer;Ljava/lang/String;Lio/getstream/chat/android/models/querysort/QuerySorter;)Lio/getstream/result/call/Call;
public static synthetic fun queryPollVotes$default (Lio/getstream/chat/android/client/ChatClient;Ljava/lang/String;Lio/getstream/chat/android/models/FilterObject;Ljava/lang/Integer;Ljava/lang/String;Lio/getstream/chat/android/models/querysort/QuerySorter;ILjava/lang/Object;)Lio/getstream/result/call/Call;
public final fun queryPolls (Lio/getstream/chat/android/models/FilterObject;Ljava/lang/Integer;Ljava/lang/String;Lio/getstream/chat/android/models/querysort/QuerySorter;)Lio/getstream/result/call/Call;
public static synthetic fun queryPolls$default (Lio/getstream/chat/android/client/ChatClient;Lio/getstream/chat/android/models/FilterObject;Ljava/lang/Integer;Ljava/lang/String;Lio/getstream/chat/android/models/querysort/QuerySorter;ILjava/lang/Object;)Lio/getstream/result/call/Call;
public final fun queryReminders (Lio/getstream/chat/android/models/FilterObject;ILjava/lang/String;Lio/getstream/chat/android/models/querysort/QuerySorter;)Lio/getstream/result/call/Call;
public static synthetic fun queryReminders$default (Lio/getstream/chat/android/client/ChatClient;Lio/getstream/chat/android/models/FilterObject;ILjava/lang/String;Lio/getstream/chat/android/models/querysort/QuerySorter;ILjava/lang/Object;)Lio/getstream/result/call/Call;
public final fun queryThreads (Lio/getstream/chat/android/client/api/models/QueryThreadsRequest;)Lio/getstream/result/call/Call;
Expand Down Expand Up @@ -236,6 +245,7 @@ public final class io/getstream/chat/android/client/ChatClient {
public static synthetic fun updateChannelPartial$default (Lio/getstream/chat/android/client/ChatClient;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljava/util/List;ILjava/lang/Object;)Lio/getstream/result/call/Call;
public final fun updateLiveLocation (Ljava/lang/String;DDLjava/lang/String;)Lio/getstream/result/call/Call;
public final fun updateMessage (Lio/getstream/chat/android/models/Message;)Lio/getstream/result/call/Call;
public final fun updatePollOption (Ljava/lang/String;Lio/getstream/chat/android/client/api/models/UpdatePollOptionRequest;)Lio/getstream/result/call/Call;
public final fun updateReminder (Ljava/lang/String;Ljava/util/Date;)Lio/getstream/result/call/Call;
public final fun updateUser (Lio/getstream/chat/android/models/User;)Lio/getstream/result/call/Call;
public final fun updateUsers (Ljava/util/List;)Lio/getstream/result/call/Call;
Expand Down Expand Up @@ -318,6 +328,20 @@ public final class io/getstream/chat/android/client/api/ChatClientConfig {
public final fun setWssUrl (Ljava/lang/String;)V
}

public final class io/getstream/chat/android/client/api/models/CreatePollOptionRequest {
public fun <init> (Ljava/lang/String;Ljava/util/Map;)V
public synthetic fun <init> (Ljava/lang/String;Ljava/util/Map;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1 ()Ljava/lang/String;
public final fun component2 ()Ljava/util/Map;
public final fun copy (Ljava/lang/String;Ljava/util/Map;)Lio/getstream/chat/android/client/api/models/CreatePollOptionRequest;
public static synthetic fun copy$default (Lio/getstream/chat/android/client/api/models/CreatePollOptionRequest;Ljava/lang/String;Ljava/util/Map;ILjava/lang/Object;)Lio/getstream/chat/android/client/api/models/CreatePollOptionRequest;
public fun equals (Ljava/lang/Object;)Z
public final fun getExtraData ()Ljava/util/Map;
public final fun getText ()Ljava/lang/String;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class io/getstream/chat/android/client/api/models/GetThreadOptions {
public fun <init> ()V
public fun <init> (Z)V
Expand Down Expand Up @@ -613,6 +637,22 @@ public final class io/getstream/chat/android/client/api/models/SendActionRequest
public fun toString ()Ljava/lang/String;
}

public final class io/getstream/chat/android/client/api/models/UpdatePollOptionRequest {
public fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
public synthetic fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1 ()Ljava/lang/String;
public final fun component2 ()Ljava/lang/String;
public final fun component3 ()Ljava/util/Map;
public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Lio/getstream/chat/android/client/api/models/UpdatePollOptionRequest;
public static synthetic fun copy$default (Lio/getstream/chat/android/client/api/models/UpdatePollOptionRequest;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;ILjava/lang/Object;)Lio/getstream/chat/android/client/api/models/UpdatePollOptionRequest;
public fun equals (Ljava/lang/Object;)Z
public final fun getExtraData ()Ljava/util/Map;
public final fun getId ()Ljava/lang/String;
public final fun getText ()Ljava/lang/String;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class io/getstream/chat/android/client/api/models/WatchChannelRequest : io/getstream/chat/android/client/api/models/QueryChannelRequest {
public fun <init> ()V
public synthetic fun withData (Ljava/util/Map;)Lio/getstream/chat/android/client/api/models/QueryChannelRequest;
Expand Down
Loading
Loading