Releases: sendbird/sendbird-uikit-ios
v3.14.0
- Initialization improving
- Added
initialize(applicationId:initParamsBuilder:startHandler:migrationHandler:completionHandler:)
function ofSendbirdUI
class - For more information on the improved initialization, see this link
- Added
- Fixed link image loading bug
- Remove time view from
SBUTypingIndicatorMessageCell
class - Improving the image loading process
- Add
errorHandler(error:message:)
optional function inSBUExtendedMessagePayloadCustomViewFactory
protocol - Supported remote notifications on iOS 16 or later simulators
v3.13.1
- Added functionality to log impressions for notifications
- Fixed file downloads not working issue
v3.13.0
-
Added
SBUScrollPostionConfiguration
configuration class- Added
scrollPostionConfiguration
peroperty inSBUGlobals
- Added
-
Added
SBUScrollOptions
model -
Added
SBUScrollOptions.Result
model -
Added
SBUScrollPosition
enum -
Added and modified methods in
SBUBaseChannelModule.List
class- Modified
position
parameter inscrollToMessage(id:enablesScrollAnimation:enablesMessageAnimation:position:)
- Added
scrollToMessage(message:enablesScrollAnimation:enablesMessageAnimation:position)
- Modified
-
Added and modified methods in
SBUBaseChannelViewController
class- Modified
position
parameter inscrollToMessage(id:enablesScrollAnimation:enablesMessageAnimation:position:)
- Added
scrollToMessage(message:enablesScrollAnimation:enablesMessageAnimation:position)
- Modified
-
Fixed message menu sheet not showing when emojiList is empty
v3.12.0
Typing Indicator Bubble
-
We are now supporting a new type of a typing indicator, the Typing Indicator Bubble.
-
Enabling Typing Indicator Bubble shows an animated typing bubble when another member(s) in a Group Channel is/are typing.
-
You can use this feature by enabling
SendbirdUI.config.groupChannel.channel.isTypingIndicatorEnabled
totrue
, then settingSendbirdUI.config.groupChannel.channel.typingIndicatorTypes
to[.bubble]
. -
New enum
public enum SBUTypingIndicatorType
-
New classes / structs
public class SBUTypingIndicatorMessageManager
public struct SBUTypingIndicatorInfo
public class SBUTypingIndicatorMessage
public class SBUTypingIndicatorMessageCellParams
open class SBUTypingIndicatorMessageCell
public class SBUTypingIndicatorBubbleView
-
New properties
public var typingIndicatorTypes: Set<SBUTypingIndicatorType>
inSBUConfig.GroupChannel.Channel
public var typingMessageManager
inSBUBaseChannelViewModel
public private(set) var typingIndicatorMessageCell
inSBUGroupChannelModule.List
public static var Message_Typers_Count
inSBUStringSet
public lazy var profilesStackView
inSBUContentBaseMessageCell
public lazy var numberLabel
inSBUMessageProfileView
-
New methods
open func register(typingIndicatorMessageCell: SBUBaseMessageCell, nib: UINib? = nil)
inSBUGroupChannelModule.List
public func configureMessageProfileViews(message:)
inSBUContentBaseMessageCell
open func configureTyperProfileViews(typingInfo:)
inSBUContentBaseMessageCell
open func configureUserProfileView(message:)
inSBUContentBaseMessageCell
public func configureTyperProfileImageView()
inSBUMessageProfileView
public func configureNumberLabel(_:)
-
New theme properties
public var typingMessageProfileBorderColor: UIColor
inSBUTheme
public var typingMessageDotColor: UIColor
inSBUTheme
public var typingMessageDotTransformColor: UIColor
inSBUTheme
v3.11.2
- Fixed navigationBar looking weird after entering message search function
- Added
needRollbackNavigationBarSetting
property inSBUBaseViewController
- Added
- Applied UIKit configuration to LimitedPhotoLibraryPicker
v3.11.1
v3.11.0
- Support Suggested Replies feature for user message
- Added
SBUSuggestedReplyView
class - Added
SBUVerticalSuggestedReplyView
class - Added
SBUSuggestedReplyViewDelegate
delegate - Added
SBUSuggestedReplyViewParams
struct - Added
SBUSuggestedReplyOptionView
class - Added
SBUSimpleSuggestedReplyOptionView
class - Added
SBUSuggestedReplyOptionViewDelegate
delegate
- Added
- Support Form Type Message feature for user message
- Added
SBUForm
struct - Added
SBUForm.Field
struct - Added
SBUForm.Field.InputTypeValue
enum - Added
SBUForm.Answer
struct - Added
SBUFormViewParams
struct - Added
SBUFormView
class - Added
SBUSimpleFormView
class - Added
SBUFormViewDelegate
protocol - Added
SBUFormFieldView
class - Added
SBUFormFieldView.StatusType
enum - Added
SBUSimpleFormFieldView
class - Added
SBUFormFieldViewDelegate
protocol - Added
useOnlyFromView
property inSBUBaseMessageCellParams
- Added
- Support ExtendedMessagePayload CustomView feature for user message
- Added
SBUExtendedMessagePayloadCustomViewFactory
protocol - Added
SBUExtendedMessagePayloadCustomViewFactoryInternal
protocol
- Added
- Support common for new features
- Added properties and methods in
SBUUserMessageCell
shouldHideSuggestedReplies
propertysuggestedReplyView
propertyshouldHideFormTypeMessage
propertyformViews
propertyextendedMessagePayloadCustomViewFactory
propertyupdateSuggestedReplyView(with:)
methodcreateSuggestedReplyView()
methodupdateFormView(with:answers:)
methodcreateFormView()
methodsuggestedReplyView(_:didSelectOption:)
delegate methodfunc formView(_:didSubmit:)
delegate methodfunc formView(_:didUpdate:)
delegate method
- Added properties in
SBUUserMessageCellParams
shouldHideSuggestedReplies
propertyshouldHideFormTypeMessage
propertyformAnswers
property
- Added handlers in
SBUBaseMessageCell
suggestedReplySelectHandler
handlersubmitFormAnswerHandler
handlerupdateFormAnswerHandler
handler
- Added
mainContainerVStackView
proeprty inSBUContentBaseMessageCell
- Added
SBUConfig.GroupChannel
configsisFormTypeMessageEnabled
propertyisSuggestedRepliesEnabled
property
- Added extension methods and properties in
BaseMessage
.asSuggestedReplies
propertyasForms
propertyasCustomView
propertydecodeCustomViewData<ViewData: Decodable>()
method
- Added methods in
SBUGroupChannelModuleListDelegate
groupChannelModule(_:didSelect:)
methodgroupChannelModule(_:didSubmit:messageCell:)
methodgroupChannelModule(_:didUpdate:messageCell:)
methodgroupChannelModule(_:answersFor:)
method
- Added delegate methods in
SBUGroupChannelViewController
groupChannelModule(_:didSelect:)
methodgroupChannelModule(_:didSubmit:messageCell:)
methodgroupChannelModule(_:didUpdate:messageCell:)
methodgroupChannelModule(_:answersFor:)
method
- Added methods in
SBUGroupChannelViewModel
submitForm(message:answer:)
methodupdateForm(message:answer:)
method
- Added properties and methods in
- Support actions on userList item of
SBUReactionsViewController
.- Added
showUserProfile(user:)
method inSBUBaseChannelViewController
class - Added
setUserProfileTapGesture(_:)
method inSBUReactionsViewController
class - Added
SBUReactionsViewControllerDelegate
delegate - Added delegate methods in
SBUGroupChannelViewController
andSBUMessageThreadViewController
classesreactionsViewController(_:didTapUserProfile:)
reactionsViewController(_:tableView:didSelect:forRowAt:)
- Added
v3.10.0
Multiple Files Message
- We are now supporting Multiple Files Message feature!
- You can select multiple images and videos in the message inputs, and send multiple images in a single message.
- You can learn more about the feature in our Multiple Files Message docs page.
- Added classes, structs, and enum
SBUCollectionViewCell
classSBUMultipleFilesMessageCellParams
classSBUMultipleFilesMessageCell
classSBUMultipleFilesMessageCollectionView
classSBUMultipleFilesMessageCollectionViewCell
classGroupChannel.Preview
struct inSBUStringSet
classFileUpload.Error
struct inSBUStringSet
classSBUFileType
enum
- Added methods
getFileTypeString(by:)
inSBUUtils
classopenFile(_:)
inSBUBaseChannelViewController
classmultipleFilesMessageFileSizeErrorHandler(_:)
inSBUGroupChannelViewController
classsendMultipleFilesMessageCompletionHandler
inSBUGroupChannelViewController
classsendMultipleFilesMessage(fileInfoList:)
inSBUGroupChannelViewModel
classupdateMultipleFilesMessageCell(requestId:index:)
inSBUGroupChannelViewModel
classpickMultipleImageFiles(itemProviders:)
inSBUGroupChannelModule.Input
class (>= iOS14.0)register(multipleFilesMessageCell:nib:)
inSBUGroupChannelModule.List
classonSelectFile(sender:)
inSBUParentMessageInfoView
classregister(multipleFilesMessageCell:nib:) in
SBUMessageThreadMoudle.List` classmessageThreadModule(_:didSelectFileAt:multipleFilesMessageCell:forRowAt) in
SBUMessageThreadMoudle.List` classsave(fileData:viewController:) in
SBUDownloadManager` classsave(fileMessage:parent:) in
SBUDownloadManager` class
- Added properties
filesCount
inMultipleFilesMessage
class extensionmultipleFilesMessageFileCountLimit
inSBUAvailable
classuploadSizeLimitBytes
inSBUAvailable
classuploadSizeLimitMB
inSBUAvailable
classisMultipleFilesMessageEnabled
inSBUConfig.GroupChannel.Channel
classmultipleFilesMessageParamsSendBuilder
inSBUGlobalCustomParams
classshowPhotoLibraryPicker
inSBUGroupChannelViewController
classmultipleFilesMessageCell
inSBUGroupChannelModule.List
classisMultipleFilesMessage
inSBUQuoteMessageInputViewParams
classfileCollectionView
inSBUParentMessageInfoView
classfileSelectHandler
inSBUParentMessageInfoView
classonSelectFile(sender:)
inSBUParentMessageInfoView
classmultipleFilesMessageCell
inSBUMessageThreadMoudle.List
class
- Added delegate methods
groupChannelModule(_:didPickMultipleFiles:parentMessage:)
inSBUGroupChannelModuleInputDelegate
groupChannelModule(_:didSelectFileAt:multipleFilesMessageCell:forRowAt:)
inSBUGroupChannelModuleListDelegate
Common
- Fixed autolayout warnings that occur during runtime and cleaned up the entire autolayout-related logic
- Added
sbu_activate(baseView:constraints:)
function onNSLayoutConstraint
class extension - Added
Constants
struct onSBUParentMessageInfoView
class - Added
updateMessageTextWidth(with:)
function onSBUParentMessageInfoView
class
- Added
- Fixed layout issue with message time labels appearing oversized horizontally
- Fixed incorrect date separator padding size
- Modified condition to check user's
isActive
property when filtering mentionable users
v3.9.3
- Fixed an issue where deleting a message didn't work
- Fixed a problem with truncated reaction counts
- Improved stability
v3.9.2
- Fixed an issue where deleting a message didn't work
- Fixed a problem with truncated reaction counts
- Improved stability