Skip to content

Commit

Permalink
Merge branch 'develop' into fix/Unable-to-set-audio-speed-after-pausing
Browse files Browse the repository at this point in the history
  • Loading branch information
kanat authored Nov 6, 2024
2 parents 0655eaf + 8e2aeea commit cf2058f
Show file tree
Hide file tree
Showing 73 changed files with 1,566 additions and 410 deletions.
91 changes: 69 additions & 22 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,13 @@
### ✅ Added

### ⚠️ Changed
- Deprecate `NotInFilterObject` because it is not supported backend-side anymore. [#5393](https://github.com/GetStream/stream-chat-android/pull/5393)
- Deprecate `AttachmentsPickerTabFactories.defaultFactoriesWithoutStoragePermissions()` in favor of a more configurable method. [#5430](https://github.com/GetStream/stream-chat-android/pull/5430)
- Deprecate `AttachmentsPickerSystemTabFactory(otherFactories)` in favor of a more configurable constructor. [#5430](https://github.com/GetStream/stream-chat-android/pull/5430)

### ❌ Removed
- Remove `NotInFilterObject` because it is not supported backend-side anymore. [#5394](https://github.com/GetStream/stream-chat-android/pull/5394)

## stream-chat-android-client
### 🐞 Fixed
- Sanitize User Agen Header to avoid issues with ilegal characters on the Http Headers. [#5440](https://github.com/GetStream/stream-chat-android/pull/5440)

### ⬆️ Improved
- Avoid multiple `ChatClient::connectUser` invocations by sharing the `Call`. [#5439](https://github.com/GetStream/stream-chat-android/pull/5439)

### ✅ Added

Expand All @@ -44,7 +38,6 @@
### ⬆️ Improved

### ✅ Added
- Add `GlobalState::unreadThreadsCount` property to observe the number of unread threads. [#5452](https://github.com/GetStream/stream-chat-android/pull/5452)

### ⚠️ Changed

Expand All @@ -56,45 +49,30 @@
### ⬆️ Improved

### ✅ Added
- Added `ImageAssetTransformer` to transform image assets before rendering them on the UI. [#5438](https://github.com/GetStream/stream-chat-android/pull/5438)

### ⚠️ Changed

### ❌ Removed

## stream-chat-android-ui-components
### 🐞 Fixed
- Fix max allowed votes base on available options. [#5431](https://github.com/GetStream/stream-chat-android/pull/5431)
- Fix `CAMERA` permission request when using the capture photo/video attachment picker from `AttachmentsPickerSystemTabFactory`. [#5430](https://github.com/GetStream/stream-chat-android/pull/5430)
- Fixed `MessageListView` scroll to the bottom behaviour when a new message is added. [#5427](https://github.com/GetStream/stream-chat-android/pull/5427)

### ⬆️ Improved

### ✅ Added
- Added `ChatUI.imageAssetTransformer` to transform image assets before rendering them on the UI. [#5438](https://github.com/GetStream/stream-chat-android/pull/5438)

### ⚠️ Changed

### ❌ Removed

## stream-chat-android-compose
### 🐞 Fixed
- Fix `CAMERA` permission request when using the capture photo/video attachment picker from `AttachmentsPickerSystemTabFactory`. [#5430](https://github.com/GetStream/stream-chat-android/pull/5430)
- Fixed `MessageList` scroll to the bottom behaviour when a new message is added. [#5427](https://github.com/GetStream/stream-chat-android/pull/5427)

### ⬆️ Improved

### ✅ Added
- Added `ChannelListViewModel.refresh` method to refresh the channel list. [#5425](https://github.com/GetStream/stream-chat-android/pull/5425)
- Add `PinnedMessageList` component for showing the list of pinned messages in a channel. [#5420](https://github.com/GetStream/stream-chat-android/pull/5420)
- Add `formatMessageTitle` method to `MessagePreviewFormatter`, to allow message preview title formatting customization. [#5420](https://github.com/GetStream/stream-chat-android/pull/5420)
- Add `AttachmentsPickerTabFactories.defaultFactoriesWithoutStoragePermissions` to customize which attachment pickers are allowed. [#5430](https://github.com/GetStream/stream-chat-android/pull/5430)
- Add `AttachmentsPickerSystemTabFactory(filesAllowed, mediaAllowed, captureImageAllowed, captureVideoAllowed, pollAllowed)` to to customize which attachment pickers are allowed. [#5430](https://github.com/GetStream/stream-chat-android/pull/5430)
- Added `ChatTheme.imageAssetTransformer` to transform image assets before rendering them on the UI. [#5438](https://github.com/GetStream/stream-chat-android/pull/5438)
- Added option to suggest new options on a poll. [#5424](https://github.com/GetStream/stream-chat-android/pull/5424)

### ⚠️ Changed
- Exposed `DefaultMessageComposerRecordingContent` and `DefaultAudioRecordButton` components. [#5433](https://github.com/GetStream/stream-chat-android/pull/5433)

### ❌ Removed

Expand All @@ -109,6 +87,75 @@

### ❌ Removed

# November 06th, 2024 - 6.5.3
## stream-chat-android-client
### ✅ Added
- Add `ChatClient::markThreadUnread` to mark a given thread as unread. [#5457](https://github.com/GetStream/stream-chat-android/pull/5457)
- Add `ChannelClient::markThreadUnread` to mark a given thread as unread. [#5457](https://github.com/GetStream/stream-chat-android/pull/5457)

## stream-chat-android-ui-components
### 🐞 Fixed
- Fix crash in `CameraAttachmentFragment` related to permissions checks. [#5465](https://github.com/GetStream/stream-chat-android/pull/5465)
- Fix crash in `FileAttachmentFragment` related to permissions checks. [#5465](https://github.com/GetStream/stream-chat-android/pull/5465)
- Fix crash in `MediaAttachmentFragment` related to permissions checks. [#5465](https://github.com/GetStream/stream-chat-android/pull/5465)
- Fix crash in `AttachmentsPickerSystemFragment` related to permissions checks. [#5465](https://github.com/GetStream/stream-chat-android/pull/5465)

# October 23th, 2024 - 6.5.2
## Common changes for all artifacts
### ⚠️ Changed
- Deprecate `NotInFilterObject` because it is not supported backend-side anymore. [#5393](https://github.com/GetStream/stream-chat-android/pull/5393)
- Deprecate `AttachmentsPickerTabFactories.defaultFactoriesWithoutStoragePermissions()` in favor of a more configurable method. [#5430](https://github.com/GetStream/stream-chat-android/pull/5430)
- Deprecate `AttachmentsPickerSystemTabFactory(otherFactories)` in favor of a more configurable constructor. [#5430](https://github.com/GetStream/stream-chat-android/pull/5430)

### ❌ Removed
- Remove `NotInFilterObject` because it is not supported backend-side anymore. [#5394](https://github.com/GetStream/stream-chat-android/pull/5394)

## stream-chat-android-client
### 🐞 Fixed
- Sanitize User Agen Header to avoid issues with ilegal characters on the Http Headers. [#5440](https://github.com/GetStream/stream-chat-android/pull/5440)

### ⬆️ Improved
- Avoid multiple `ChatClient::connectUser` invocations by sharing the `Call`. [#5439](https://github.com/GetStream/stream-chat-android/pull/5439)

### ✅ Added
- Add `ChatClient::markThreadRead` to mark a given thread as read. [#5447](https://github.com/GetStream/stream-chat-android/pull/5447)
- Add `ChannelClient::markThreadRead` to mark a given thread as read. [#5447](https://github.com/GetStream/stream-chat-android/pull/5447)

## stream-chat-android-state
### ✅ Added
- Add `GlobalState::unreadThreadsCount` property to observe the number of unread threads. [#5452](https://github.com/GetStream/stream-chat-android/pull/5452)

## stream-chat-android-ui-common
### ✅ Added
- Added `ImageAssetTransformer` to transform image assets before rendering them on the UI. [#5438](https://github.com/GetStream/stream-chat-android/pull/5438)

## stream-chat-android-ui-components
### 🐞 Fixed
- Fix max allowed votes base on available options. [#5431](https://github.com/GetStream/stream-chat-android/pull/5431)
- Fix `CAMERA` permission request when using the capture photo/video attachment picker from `AttachmentsPickerSystemTabFactory`. [#5430](https://github.com/GetStream/stream-chat-android/pull/5430)
- Fixed `MessageListView` scroll to the bottom behaviour when a new message is added. [#5427](https://github.com/GetStream/stream-chat-android/pull/5427)

### ✅ Added
- Added `ChatUI.imageAssetTransformer` to transform image assets before rendering them on the UI. [#5438](https://github.com/GetStream/stream-chat-android/pull/5438)

## stream-chat-android-compose
### 🐞 Fixed
- Fix `CAMERA` permission request when using the capture photo/video attachment picker from `AttachmentsPickerSystemTabFactory`. [#5430](https://github.com/GetStream/stream-chat-android/pull/5430)
- Fixed `MessageList` scroll to the bottom behaviour when a new message is added. [#5427](https://github.com/GetStream/stream-chat-android/pull/5427)

### ✅ Added
- Added `ChannelListViewModel.refresh` method to refresh the channel list. [#5425](https://github.com/GetStream/stream-chat-android/pull/5425)
- Add `PinnedMessageList` component for showing the list of pinned messages in a channel. [#5420](https://github.com/GetStream/stream-chat-android/pull/5420)
- Add `formatMessageTitle` method to `MessagePreviewFormatter`, to allow message preview title formatting customization. [#5420](https://github.com/GetStream/stream-chat-android/pull/5420)
- Add `AttachmentsPickerTabFactories.defaultFactoriesWithoutStoragePermissions` to customize which attachment pickers are allowed. [#5430](https://github.com/GetStream/stream-chat-android/pull/5430)
- Add `AttachmentsPickerSystemTabFactory(filesAllowed, mediaAllowed, captureImageAllowed, captureVideoAllowed, pollAllowed)` to to customize which attachment pickers are allowed. [#5430](https://github.com/GetStream/stream-chat-android/pull/5430)
- Added `ChatTheme.imageAssetTransformer` to transform image assets before rendering them on the UI. [#5438](https://github.com/GetStream/stream-chat-android/pull/5438)
- Added option to suggest new options on a poll. [#5424](https://github.com/GetStream/stream-chat-android/pull/5424)
- Added UI for Answers. [#5432](https://github.com/GetStream/stream-chat-android/pull/5432)

### ⚠️ Changed
- Exposed `DefaultMessageComposerRecordingContent` and `DefaultAudioRecordButton` components. [#5433](https://github.com/GetStream/stream-chat-android/pull/5433)

# September 26th, 2024 - 6.5.1
## Common changes for all artifacts
### ⚠️ Changed
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ object Configuration {
const val minSdk = 21
const val majorVersion = 6
const val minorVersion = 5
const val patchVersion = 1
const val patchVersion = 3
const val versionName = "$majorVersion.$minorVersion.$patchVersion"
const val snapshotVersionName = "$majorVersion.$minorVersion.${patchVersion + 1}-SNAPSHOT"
const val artifactGroup = "io.getstream"
Expand Down
31 changes: 31 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 @@ -17,6 +17,7 @@ public final class io/getstream/chat/android/client/ChatClient {
public final fun appSettings ()Lio/getstream/result/call/Call;
public final fun banUser (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;)Lio/getstream/result/call/Call;
public final fun blockUser (Ljava/lang/String;)Lio/getstream/result/call/Call;
public final fun castPollAnswer (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/getstream/result/call/Call;
public final fun castPollVote (Ljava/lang/String;Ljava/lang/String;Lio/getstream/chat/android/models/Option;)Lio/getstream/result/call/Call;
public final fun channel (Ljava/lang/String;)Lio/getstream/chat/android/client/channel/ChannelClient;
public final fun channel (Ljava/lang/String;Ljava/lang/String;)Lio/getstream/chat/android/client/channel/ChannelClient;
Expand Down Expand Up @@ -97,6 +98,8 @@ public final class io/getstream/chat/android/client/ChatClient {
public final fun markAllRead ()Lio/getstream/result/call/Call;
public final fun markMessageRead (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/getstream/result/call/Call;
public final fun markRead (Ljava/lang/String;Ljava/lang/String;)Lio/getstream/result/call/Call;
public final fun markThreadRead (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/getstream/result/call/Call;
public final fun markThreadUnread (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/getstream/result/call/Call;
public final fun markUnread (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/getstream/result/call/Call;
public final fun muteChannel (Ljava/lang/String;Ljava/lang/String;)Lio/getstream/result/call/Call;
public final fun muteChannel (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;)Lio/getstream/result/call/Call;
Expand Down Expand Up @@ -646,6 +649,8 @@ public final class io/getstream/chat/android/client/channel/ChannelClient {
public static synthetic fun keystroke$default (Lio/getstream/chat/android/client/channel/ChannelClient;Ljava/lang/String;ILjava/lang/Object;)Lio/getstream/result/call/Call;
public final fun markMessageRead (Ljava/lang/String;)Lio/getstream/result/call/Call;
public final fun markRead ()Lio/getstream/result/call/Call;
public final fun markThreadRead (Ljava/lang/String;)Lio/getstream/result/call/Call;
public final fun markThreadUnread (Ljava/lang/String;Ljava/lang/String;)Lio/getstream/result/call/Call;
public final fun markUnread (Ljava/lang/String;)Lio/getstream/result/call/Call;
public final fun mute ()Lio/getstream/result/call/Call;
public final fun mute (Ljava/lang/Integer;)Lio/getstream/result/call/Call;
Expand Down Expand Up @@ -907,6 +912,31 @@ public abstract class io/getstream/chat/android/client/errors/cause/StreamSdkExc
public synthetic fun <init> (Ljava/lang/Throwable;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
}

public final class io/getstream/chat/android/client/events/AnswerCastedEvent : io/getstream/chat/android/client/events/CidEvent, io/getstream/chat/android/client/events/HasPoll {
public fun <init> (Ljava/lang/String;Ljava/util/Date;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/getstream/chat/android/models/Poll;Lio/getstream/chat/android/models/Answer;)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 ()Ljava/lang/String;
public final fun component5 ()Ljava/lang/String;
public final fun component6 ()Ljava/lang/String;
public final fun component7 ()Lio/getstream/chat/android/models/Poll;
public final fun component8 ()Lio/getstream/chat/android/models/Answer;
public final fun copy (Ljava/lang/String;Ljava/util/Date;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/getstream/chat/android/models/Poll;Lio/getstream/chat/android/models/Answer;)Lio/getstream/chat/android/client/events/AnswerCastedEvent;
public static synthetic fun copy$default (Lio/getstream/chat/android/client/events/AnswerCastedEvent;Ljava/lang/String;Ljava/util/Date;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/getstream/chat/android/models/Poll;Lio/getstream/chat/android/models/Answer;ILjava/lang/Object;)Lio/getstream/chat/android/client/events/AnswerCastedEvent;
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 getNewAnswer ()Lio/getstream/chat/android/models/Answer;
public fun getPoll ()Lio/getstream/chat/android/models/Poll;
public fun getRawCreatedAt ()Ljava/lang/String;
public fun getType ()Ljava/lang/String;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class io/getstream/chat/android/client/events/ChannelDeletedEvent : io/getstream/chat/android/client/events/CidEvent, io/getstream/chat/android/client/events/HasChannel {
public fun <init> (Ljava/lang/String;Ljava/util/Date;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/getstream/chat/android/models/Channel;Lio/getstream/chat/android/models/User;)V
public final fun component1 ()Ljava/lang/String;
Expand Down Expand Up @@ -2877,6 +2907,7 @@ public final class io/getstream/chat/android/client/utils/internal/toggle/Toggle
}

public final class io/getstream/chat/android/client/utils/message/MessageUtils {
public static final fun belongsToThread (Lio/getstream/chat/android/models/Message;)Z
public static final fun hasAudioRecording (Lio/getstream/chat/android/models/Message;)Z
public static final fun isDeleted (Lio/getstream/chat/android/models/Message;)Z
public static final fun isEphemeral (Lio/getstream/chat/android/models/Message;)Z
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1536,6 +1536,15 @@ internal constructor(
return api.castPollVote(messageId, pollId, option.id)
}

@CheckResult
public fun castPollAnswer(
messageId: String,
pollId: String,
answer: String,
): Call<Vote> {
return api.castPollAnswer(messageId, pollId, answer)
}

/**
* Remove a vote for a poll in a message.
*
Expand Down Expand Up @@ -2196,6 +2205,22 @@ internal constructor(
}
}

/**
* Marks a given thread as read.
*
* @param channelType The type of the channel in which the thread resides.
* @param channelId The ID of the channel in which the thread resides.
* @param threadId The ID of the thread to mark as read.
*/
@CheckResult
public fun markThreadRead(
channelType: String,
channelId: String,
threadId: String,
): Call<Unit> {
return api.markThreadRead(channelType, channelId, threadId)
}

@CheckResult
public fun showChannel(channelType: String, channelId: String): Call<Unit> {
return api.showChannel(channelType, channelId)
Expand Down Expand Up @@ -2460,6 +2485,24 @@ internal constructor(
}
}

/**
* Marks a given thread starting from the given message as unread.
*
* @param channelType Type of the channel.
* @param channelId Id of the channel.
* @param threadId Id of the thread to mark as unread.
* @param messageId Id of the message from where the thread should be marked as unread.
*/
@CheckResult
public fun markThreadUnread(
channelType: String,
channelId: String,
threadId: String,
messageId: String,
): Call<Unit> {
return api.markThreadUnread(channelType, channelId, threadId = threadId, messageId = messageId)
}

@CheckResult
public fun updateUsers(users: List<User>): Call<List<User>> {
return api.updateUsers(users)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -275,13 +275,28 @@ internal interface ChatApi {
messageId: String = "",
): Call<Unit>

@CheckResult
fun markThreadRead(
channelType: String,
channelId: String,
threadId: String,
): Call<Unit>

@CheckResult
fun markUnread(
channelType: String,
channelId: String,
messageId: String,
): Call<Unit>

@CheckResult
fun markThreadUnread(
channelType: String,
channelId: String,
threadId: String,
messageId: String,
): Call<Unit>

@CheckResult
fun showChannel(channelType: String, channelId: String): Call<Unit>

Expand Down Expand Up @@ -486,6 +501,9 @@ internal interface ChatApi {
@CheckResult
fun castPollVote(messageId: String, pollId: String, optionId: String): Call<Vote>

@CheckResult
fun castPollAnswer(messageId: String, pollId: String, answer: String): Call<Vote>

@CheckResult
fun removePollVote(messageId: String, pollId: String, voteId: String): Call<Vote>

Expand Down
Loading

0 comments on commit cf2058f

Please sign in to comment.