Releases: sendbird/sendbird-chat-sdk-ios
Releases · sendbird/sendbird-chat-sdk-ios
4.29.3
4.29.2
Improvements
- Fixed
completionHandler
not being called inloadNextPage(completionHandler:)
inPreviousMessageListQuery
when the query is declared as a local variable - Fixed an issue where incorrect stat log were generated during WebSocket reconnection attempts
4.29.1
Improvements
- Improved stability in real-time event handling
4.29.0
New Features
-
Context Object Management API: Added new public methods for managing AI Agent context objects
GroupChannel.getContextObject(aiAgentId:completionHandler:)
- Retrieve context object for an AI agentGroupChannel.updateContext(_:aiAgentId:completionHandler:)
- Replace entire context data (PUT operation)GroupChannel.patchContext(_:aiAgentId:completionHandler:)
- Merge context data with existing data (PATCH operation)
-
AIAgent: Added a new class for AI Agent channel list management
- Added
AIAgent.getGroupChannelCount(params:completionHandler:)
for getting AI Agent channel count - Added
AIAgent.getMyGroupChannelChangeLogs(token:params:completionHandler:)
for AI Agent channel change logs - Added
AIAgent.getMyGroupChannelChangeLogs(timestamp:params:completionHandler:)
for AI Agent channel change logs by timestamp - Added
AIAgent.getUnreadItemCount(params:completionHandler:)
for AI Agent channel unread count - Added
isAIAgent
property toGroupChannel
- Added
isDesk
property toGroupChannel
- Added
aiAgentChannelFilter
anddeskChannelFilter
toGroupChannelListQueryParams
- Added
AIAgentGroupChannelListQueryParams
for AI Agent channel list queries - Added
AIAgentMyGroupChannelChangeLogsParams
for AI Agent channel change logs - Added
AIAgentUnreadItemCountParams
for AI Agent unread count queries
- Added
4.28.1
Improvements
- Fixed a potential deadlock issue that could occur during stat log processing
- Improved stability of API request handling
4.28.0
New Interfaces
-
The below delegate methods have been added to
GroupChannelDelegate
func channelDidMarkAsRead(_ channel: GroupChannel, userIds: [String])
: called when a member in a Group Channel marks the channel as readfunc channelDidMarkAsUnread(_ channel: GroupChannel, userIds: [String])
: called when a member in a Group Channel marks a message as unread
-
Accordingly, the below
GroupChannelDelegate
method has been deprecated. The above new delegate methods replace the below methodfunc channelDidUpdateReadStatus(_ channel: GroupChannel, userIds: [String])
-
Added
knownActiveChannelURL
inMessengerSettingsParams
for AIAgent channel reuse
4.27.3
Improvements
- Fixed exposed database error message when running after initial installation
- Resolved an issue where some channels were missing when loading the channel list using GroupChannelCollection
- Fixed a crash that could occur during repeated WebSocket reconnection attempts
4.27.2
Improvements
- Improved performance of real-time event handling to prevent possible delays
4.27.1
Improvements
- Improved internal channel sync logic
4.27.0
New Feature
- Added
markAsUnread(message: BaseMessage, completionHandler: SBErrorHandler?)
toGroupChannel
. This new feature changes the read status of messages in the channel tounread
, starting from the specified message.
groupChannel.markAsUnread(message) { error in
// Handle error if any.
}
// Listen to updates in the current user's `myLastRead` of the channel in the below `GroupChannelDelegate`.
// Also use this delegate method to listen to updates in the read status by other channel members.
func channelDidUpdateReadStatus(_ channel: BaseChannel, userIds: [String]) {
// ...
}
// Listen to updates in the current user's unread message count in the below `UserEventDelegate`.
func didUpdateTotalUnreadMessageCount(unreadMessageCount:) {
let totalUnreadCount = unreadMessageCount.groupChannelCount
}
New Interfaces
- A new delegate method is added in
GroupChannelDelegate
.- This delegate method is called when the
readReceipts
of group channel is updated or when the current user'smyLastRead
of group channel is updated.
- This delegate method is called when the
optional func channelDidUpdateReadStatus(_ channel: GroupChannel, userIds: [String])
- The below
GroupChannelDelegate
is deprecated.
optional func channelDidUpdateReadStatus(_ channel: GroupChannel)
- Added
apiHost
andwsHost
parameters to the InitParams initialization method- This allows custom API and WebSocket hosts to be set during initialization.
Improvements
- Added
isAIAgent
andisDesk
flags toGroupChannel
class to indicate whether a channel is an AI Agent or Desk channel.