-
Notifications
You must be signed in to change notification settings - Fork 225
4.86.0 Release #3789
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
4.86.0 Release #3789
Conversation
… dropped (#3782) * Fix not reconnecting livestream channel controller when connection is dropped * Add test coverage * Update CHANGELOG.md * Add sync operation test coverage
…nels (#3785) * Fix channel list query not working when filtering blocked and non-blocked channels at the same time * Add way in the demo app to query channels with blocked and non-blocked channels * Add test coverage * Update CHANGELOG.md
#3787) * Change livestream controller to handle membership updates in-memory * Handle channel updated event manually * Make sure deletedAt is always updated for soft deleted message * Use channel updater sync * Update channel.pinnedMessages when a message is pinned * Make Channel.membership internal set * Fix crash when removing a pinned message * Add test coverage to membership updates * Add test coverage to manual channel updates * Add test coverage to pinned messages update * Add test coverage to change of channel sync * Fix channel mock not compiling * Update CHANGELOG.md * Fix tests
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
Generated by 🚫 Danger |
Public Interface open class StreamAudioRecorder: NSObject, AudioRecording, AVAudioRecorderDelegate, AppStateObserverDelegate
- public convenience init(configuration: Configuration)
+ public init(configuration: Configuration,audioSessionConfigurator: AudioSessionConfiguring = StreamAudioSessionConfigurator())
public struct ChatMessage
- public func changing(text: String? = nil,type: MessageType? = nil,state: LocalMessageState? = nil,command: String? = nil,arguments: String? = nil,attachments: [AnyChatMessageAttachment]? = nil,translations: [TranslationLanguage: String]? = nil,originalLanguage: TranslationLanguage? = nil,moderationDetails: MessageModerationDetails? = nil,readBy: Set<ChatUser>? = nil,extraData: [String: RawJSON]? = nil)-> ChatMessage
+ public func changing(text: String? = nil,type: MessageType? = nil,state: LocalMessageState? = nil,command: String? = nil,arguments: String? = nil,attachments: [AnyChatMessageAttachment]? = nil,translations: [TranslationLanguage: String]? = nil,originalLanguage: TranslationLanguage? = nil,moderationDetails: MessageModerationDetails? = nil,readBy: Set<ChatUser>? = nil,deletedAt: Date? = nil,extraData: [String: RawJSON]? = nil)-> ChatMessage
public class LivestreamChannelController: DataStoreProvider, EventsControllerDelegate, AppStateObserverDelegate
- public func loadPreviousMessages(before messageId: MessageId? = nil,limit: Int? = nil,completion: (@MainActor(Error?) -> Void)? = nil)
+ public func startWatching(isInRecoveryMode: Bool,completion: ((Error?) -> Void)? = nil)
- public func loadNextMessages(after messageId: MessageId? = nil,limit: Int? = nil,completion: (@MainActor(Error?) -> Void)? = nil)
+ public func stopWatching(completion: ((Error?) -> Void)? = nil)
- public func loadPageAroundMessageId(_ messageId: MessageId,limit: Int? = nil,completion: (@MainActor(Error?) -> Void)? = nil)
+ public func loadPreviousMessages(before messageId: MessageId? = nil,limit: Int? = nil,completion: (@MainActor(Error?) -> Void)? = nil)
- public func loadFirstPage(_ completion: (@MainActor(_ error: Error?) -> Void)? = nil)
+ public func loadNextMessages(after messageId: MessageId? = nil,limit: Int? = nil,completion: (@MainActor(Error?) -> Void)? = nil)
- public func createNewMessage(messageId: MessageId? = nil,text: String,pinning: MessagePinning? = nil,isSilent: Bool = false,attachments: [AnyAttachmentPayload] = [],mentionedUserIds: [UserId] = [],quotedMessageId: MessageId? = nil,skipPush: Bool = false,skipEnrichUrl: Bool = false,restrictedVisibility: [UserId] = [],location: NewLocationInfo? = nil,extraData: [String: RawJSON] = [:],completion: (@MainActor(Result<MessageId, Error>) -> Void)? = nil)
+ public func loadPageAroundMessageId(_ messageId: MessageId,limit: Int? = nil,completion: (@MainActor(Error?) -> Void)? = nil)
- public func deleteMessage(messageId: MessageId,hard: Bool = false,completion: (@MainActor(Error?) -> Void)? = nil)
+ public func loadFirstPage(_ completion: (@MainActor(_ error: Error?) -> Void)? = nil)
- public func loadReactions(for messageId: MessageId,limit: Int = 25,offset: Int = 0,completion: @escaping @MainActor(Result<[ChatMessageReaction], Error>) -> Void)
+ public func createNewMessage(messageId: MessageId? = nil,text: String,pinning: MessagePinning? = nil,isSilent: Bool = false,attachments: [AnyAttachmentPayload] = [],mentionedUserIds: [UserId] = [],quotedMessageId: MessageId? = nil,skipPush: Bool = false,skipEnrichUrl: Bool = false,restrictedVisibility: [UserId] = [],location: NewLocationInfo? = nil,extraData: [String: RawJSON] = [:],completion: (@MainActor(Result<MessageId, Error>) -> Void)? = nil)
- public func flag(messageId: MessageId,reason: String? = nil,extraData: [String: RawJSON]? = nil,completion: (@MainActor(Error?) -> Void)? = nil)
+ public func deleteMessage(messageId: MessageId,hard: Bool = false,completion: (@MainActor(Error?) -> Void)? = nil)
- public func unflag(messageId: MessageId,completion: (@MainActor(Error?) -> Void)? = nil)
+ public func loadReactions(for messageId: MessageId,limit: Int = 25,offset: Int = 0,completion: @escaping @MainActor(Result<[ChatMessageReaction], Error>) -> Void)
- public func addReaction(_ type: MessageReactionType,to messageId: MessageId,score: Int = 1,enforceUnique: Bool = false,skipPush: Bool = false,pushEmojiCode: String? = nil,extraData: [String: RawJSON] = [:],completion: (@MainActor(Error?) -> Void)? = nil)
+ public func flag(messageId: MessageId,reason: String? = nil,extraData: [String: RawJSON]? = nil,completion: (@MainActor(Error?) -> Void)? = nil)
- public func deleteReaction(_ type: MessageReactionType,from messageId: MessageId,completion: (@MainActor(Error?) -> Void)? = nil)
+ public func unflag(messageId: MessageId,completion: (@MainActor(Error?) -> Void)? = nil)
- public func pin(messageId: MessageId,pinning: MessagePinning = .noExpiration,completion: (@MainActor(Error?) -> Void)? = nil)
+ public func addReaction(_ type: MessageReactionType,to messageId: MessageId,score: Int = 1,enforceUnique: Bool = false,skipPush: Bool = false,pushEmojiCode: String? = nil,extraData: [String: RawJSON] = [:],completion: (@MainActor(Error?) -> Void)? = nil)
- public func unpin(messageId: MessageId,completion: (@MainActor(Error?) -> Void)? = nil)
+ public func deleteReaction(_ type: MessageReactionType,from messageId: MessageId,completion: (@MainActor(Error?) -> Void)? = nil)
- public func loadPinnedMessages(pageSize: Int = .messagesPageSize,sorting: [Sorting<PinnedMessagesSortingKey>] = [],pagination: PinnedMessagesPagination? = nil,completion: @escaping @MainActor(Result<[ChatMessage], Error>) -> Void)
+ public func pin(messageId: MessageId,pinning: MessagePinning = .noExpiration,completion: (@MainActor(Error?) -> Void)? = nil)
- public func currentCooldownTime()-> Int
+ public func unpin(messageId: MessageId,completion: (@MainActor(Error?) -> Void)? = nil)
- public func enableSlowMode(cooldownDuration: Int,completion: (@MainActor(Error?) -> Void)? = nil)
+ public func loadPinnedMessages(pageSize: Int = .messagesPageSize,sorting: [Sorting<PinnedMessagesSortingKey>] = [],pagination: PinnedMessagesPagination? = nil,completion: @escaping @MainActor(Result<[ChatMessage], Error>) -> Void)
- public func disableSlowMode(completion: (@MainActor(Error?) -> Void)? = nil)
+ public func currentCooldownTime()-> Int
- public func pause()
+ public func enableSlowMode(cooldownDuration: Int,completion: (@MainActor(Error?) -> Void)? = nil)
- public func resume(completion: (@MainActor(Error?) -> Void)? = nil)
+ public func disableSlowMode(completion: (@MainActor(Error?) -> Void)? = nil)
- public func eventsController(_ controller: EventsController,didReceiveEvent event: Event)
+ public func pause()
- public func applicationDidReceiveMemoryWarning()
+ public func resume(completion: (@MainActor(Error?) -> Void)? = nil)
- public func applicationDidMoveToForeground()
+ public func eventsController(_ controller: EventsController,didReceiveEvent event: Event)
+ public func applicationDidReceiveMemoryWarning()
+ public func applicationDidMoveToForeground()
public struct ChatChannel
- public let membership: ChatChannelMember?
+ public internal var membership: ChatChannelMember?
- public func changing(name: String? = nil,imageURL: URL? = nil,reads: [ChatChannelRead]? = nil,extraData: [String: RawJSON]? = nil)-> ChatChannel
+ public func changing(name: String? = nil,imageURL: URL? = nil,lastMessageAt: Date? = nil,createdAt: Date? = nil,deletedAt: Date? = nil,updatedAt: Date? = nil,truncatedAt: Date? = nil,isHidden: Bool? = nil,createdBy: ChatUser? = nil,config: ChannelConfig? = nil,ownCapabilities: Set<ChannelCapability>? = nil,isFrozen: Bool? = nil,isDisabled: Bool? = nil,isBlocked: Bool? = nil,reads: [ChatChannelRead]? = nil,members: [ChatChannelMember]? = nil,membership: ChatChannelMember? = nil,memberCount: Int? = nil,watchers: [ChatUser]? = nil,watcherCount: Int? = nil,team: TeamId? = nil,cooldownDuration: Int? = nil,pinnedMessages: [ChatMessage]? = nil,extraData: [String: RawJSON]? = nil)-> ChatChannel |
|
SDK Performance
|
SDK Size
|
Build for regression testing №123457089 has been uploaded to TestFlight 🎁 |
/merge release |
Publication of the release has been launched 👍 |
StreamChat
🐞 Fixed
LivestreamChannelController
not reconnecting when connection is dropped #3782StreamAudioRecorder
not overridable because of init method #3783LivestreamChannelController.synchronize()
not working if client not connected #3787LivestreamChannelController
#3787LivestreamChannelController
#3787channel.pinnedMessages
not updated when pinning a message inLivestreamChannelController
#3787LivestreamChannelController
not watching the channel automatically when the current user joins the channel #3787