Skip to content

Releases: sendbird/sendbird-uikit-ios

v3.14.0

19 Jan 08:01
db4720c
Compare
Choose a tag to compare
  • Initialization improving
    • Added initialize(applicationId:initParamsBuilder:startHandler:migrationHandler:completionHandler:) function of SendbirdUIclass
    • For more information on the improved initialization, see this link
  • Fixed link image loading bug
  • Remove time view from SBUTypingIndicatorMessageCell class
  • Improving the image loading process
  • Add errorHandler(error:message:) optional function in SBUExtendedMessagePayloadCustomViewFactory protocol
  • Supported remote notifications on iOS 16 or later simulators

v3.13.1

05 Jan 09:04
a173260
Compare
Choose a tag to compare
  • Added functionality to log impressions for notifications
  • Fixed file downloads not working issue

v3.13.0

13 Dec 08:25
0fdfd6d
Compare
Choose a tag to compare
  • Added SBUScrollPostionConfiguration configuration class

    • Added scrollPostionConfiguration peroperty in SBUGlobals
  • Added SBUScrollOptions model

  • Added SBUScrollOptions.Result model

  • Added SBUScrollPosition enum

  • Added and modified methods in SBUBaseChannelModule.List class

    • Modified position parameter in scrollToMessage(id:enablesScrollAnimation:enablesMessageAnimation:position:)
    • Added scrollToMessage(message:enablesScrollAnimation:enablesMessageAnimation:position)
  • Added and modified methods in SBUBaseChannelViewController class

    • Modified position parameter in scrollToMessage(id:enablesScrollAnimation:enablesMessageAnimation:position:)
    • Added scrollToMessage(message:enablesScrollAnimation:enablesMessageAnimation:position)
  • Fixed message menu sheet not showing when emojiList is empty

v3.12.0

29 Nov 11:13
0caf9da
Compare
Choose a tag to compare

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 to true, then setting SendbirdUI.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> in SBUConfig.GroupChannel.Channel
    • public var typingMessageManager in SBUBaseChannelViewModel
    • public private(set) var typingIndicatorMessageCell in SBUGroupChannelModule.List
    • public static var Message_Typers_Count in SBUStringSet
    • public lazy var profilesStackView in SBUContentBaseMessageCell
    • public lazy var numberLabel in SBUMessageProfileView
  • New methods

    • open func register(typingIndicatorMessageCell: SBUBaseMessageCell, nib: UINib? = nil) in SBUGroupChannelModule.List
    • public func configureMessageProfileViews(message:) in SBUContentBaseMessageCell
    • open func configureTyperProfileViews(typingInfo:) in SBUContentBaseMessageCell
    • open func configureUserProfileView(message:) in SBUContentBaseMessageCell
    • public func configureTyperProfileImageView() in SBUMessageProfileView
    • public func configureNumberLabel(_:)
  • New theme properties

    • public var typingMessageProfileBorderColor: UIColor in SBUTheme
    • public var typingMessageDotColor: UIColor in SBUTheme
    • public var typingMessageDotTransformColor: UIColor in SBUTheme

v3.11.2

24 Nov 08:13
ca69aaa
Compare
Choose a tag to compare
  • Fixed navigationBar looking weird after entering message search function
    • Added needRollbackNavigationBarSetting property in SBUBaseViewController
  • Applied UIKit configuration to LimitedPhotoLibraryPicker

v3.11.1

15 Nov 07:41
Compare
Choose a tag to compare
  • Improved stability

v3.11.0

03 Nov 08:18
fcff7b2
Compare
Choose a tag to compare
  • 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
  • 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 in SBUBaseMessageCellParams
  • Support ExtendedMessagePayload CustomView feature for user message
    • Added SBUExtendedMessagePayloadCustomViewFactory protocol
    • Added SBUExtendedMessagePayloadCustomViewFactoryInternal protocol
  • Support common for new features
    • Added properties and methods in SBUUserMessageCell
      • shouldHideSuggestedReplies property
      • suggestedReplyView property
      • shouldHideFormTypeMessage property
      • formViews property
      • extendedMessagePayloadCustomViewFactory property
      • updateSuggestedReplyView(with:) method
      • createSuggestedReplyView() method
      • updateFormView(with:answers:) method
      • createFormView() method
      • suggestedReplyView(_:didSelectOption:) delegate method
      • func formView(_:didSubmit:) delegate method
      • func formView(_:didUpdate:) delegate method
    • Added properties in SBUUserMessageCellParams
      • shouldHideSuggestedReplies property
      • shouldHideFormTypeMessage property
      • formAnswers property
    • Added handlers in SBUBaseMessageCell
      • suggestedReplySelectHandler handler
      • submitFormAnswerHandler handler
      • updateFormAnswerHandler handler
    • Added mainContainerVStackView proeprty in SBUContentBaseMessageCell
    • Added SBUConfig.GroupChannel configs
      • isFormTypeMessageEnabled property
      • isSuggestedRepliesEnabled property
    • Added extension methods and properties in BaseMessage.
      • asSuggestedReplies property
      • asForms property
      • asCustomView property
      • decodeCustomViewData<ViewData: Decodable>() method
    • Added methods in SBUGroupChannelModuleListDelegate
      • groupChannelModule(_:didSelect:) method
      • groupChannelModule(_:didSubmit:messageCell:) method
      • groupChannelModule(_:didUpdate:messageCell:) method
      • groupChannelModule(_:answersFor:) method
    • Added delegate methods in SBUGroupChannelViewController
      • groupChannelModule(_:didSelect:) method
      • groupChannelModule(_:didSubmit:messageCell:) method
      • groupChannelModule(_:didUpdate:messageCell:) method
      • groupChannelModule(_:answersFor:) method
    • Added methods in SBUGroupChannelViewModel
      • submitForm(message:answer:) method
      • updateForm(message:answer:) method
  • Support actions on userList item of SBUReactionsViewController.
    • Added showUserProfile(user:) method in SBUBaseChannelViewController class
    • Added setUserProfileTapGesture(_:) method in SBUReactionsViewController class
    • Added SBUReactionsViewControllerDelegate delegate
    • Added delegate methods in SBUGroupChannelViewController and SBUMessageThreadViewController classes
      • reactionsViewController(_:didTapUserProfile:)
      • reactionsViewController(_:tableView:didSelect:forRowAt:)

v3.10.0

24 Oct 08:14
a329c5c
Compare
Choose a tag to compare

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 class
    • SBUMultipleFilesMessageCellParams class
    • SBUMultipleFilesMessageCell class
    • SBUMultipleFilesMessageCollectionView class
    • SBUMultipleFilesMessageCollectionViewCell class
    • GroupChannel.Preview struct in SBUStringSet class
    • FileUpload.Error struct in SBUStringSet class
    • SBUFileType enum
  • Added methods
    • getFileTypeString(by:) in SBUUtils class
    • openFile(_:) in SBUBaseChannelViewController class
    • multipleFilesMessageFileSizeErrorHandler(_:) in SBUGroupChannelViewController class
    • sendMultipleFilesMessageCompletionHandler in SBUGroupChannelViewController class
    • sendMultipleFilesMessage(fileInfoList:) in SBUGroupChannelViewModel class
    • updateMultipleFilesMessageCell(requestId:index:) in SBUGroupChannelViewModel class
    • pickMultipleImageFiles(itemProviders:) in SBUGroupChannelModule.Input class (>= iOS14.0)
    • register(multipleFilesMessageCell:nib:) in SBUGroupChannelModule.List class
    • onSelectFile(sender:) in SBUParentMessageInfoView class
    • register(multipleFilesMessageCell:nib:) in SBUMessageThreadMoudle.List` class
    • messageThreadModule(_:didSelectFileAt:multipleFilesMessageCell:forRowAt) in SBUMessageThreadMoudle.List` class
    • save(fileData:viewController:) in SBUDownloadManager` class
    • save(fileMessage:parent:) in SBUDownloadManager` class
  • Added properties
    • filesCount in MultipleFilesMessage class extension
    • multipleFilesMessageFileCountLimit in SBUAvailable class
    • uploadSizeLimitBytes in SBUAvailable class
    • uploadSizeLimitMB in SBUAvailable class
    • isMultipleFilesMessageEnabled in SBUConfig.GroupChannel.Channel class
    • multipleFilesMessageParamsSendBuilder in SBUGlobalCustomParams class
    • showPhotoLibraryPicker in SBUGroupChannelViewController class
    • multipleFilesMessageCell in SBUGroupChannelModule.List class
    • isMultipleFilesMessage in SBUQuoteMessageInputViewParams class
    • fileCollectionView in SBUParentMessageInfoView class
    • fileSelectHandler in SBUParentMessageInfoView class
    • onSelectFile(sender:) in SBUParentMessageInfoView class
    • multipleFilesMessageCell in SBUMessageThreadMoudle.List class
  • Added delegate methods
    • groupChannelModule(_:didPickMultipleFiles:parentMessage:) in SBUGroupChannelModuleInputDelegate
    • groupChannelModule(_:didSelectFileAt:multipleFilesMessageCell:forRowAt:) in SBUGroupChannelModuleListDelegate

Common

  • Fixed autolayout warnings that occur during runtime and cleaned up the entire autolayout-related logic
    • Added sbu_activate(baseView:constraints:) function on NSLayoutConstraint class extension
    • Added Constants struct on SBUParentMessageInfoView class
    • Added updateMessageTextWidth(with:) function on SBUParentMessageInfoView class
  • 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

12 Oct 08:19
efce19f
Compare
Choose a tag to compare
  • Fixed an issue where deleting a message didn't work
  • Fixed a problem with truncated reaction counts
  • Improved stability

v3.9.2

06 Oct 06:01
5c822ff
Compare
Choose a tag to compare
  • Fixed an issue where deleting a message didn't work
  • Fixed a problem with truncated reaction counts
  • Improved stability