-
Because the UIKit is based on the chat v4, please refer to migration guide of Chat SDK v4 for iOS before customization or migrating UIKit v2 to v3.
-
The structure has been changed to use
Module
for functions related to UI, and to useViewModel
for functions related to data processing.Please refer to the migration guide. (This link will be changed to Sendbird docs page.)
- Added
SBUViewControllerSet
class - Added
SBUModuleSet
class
- Renamed
SendBirdUIKit
toSendbirdUIKit
. - Renamed
SBUMain
toSendbirdUI
.
- Replaced below functions in all viewControllers
setupAutolayout()
tosetupLayouts()
updateAutolayout()
toupdateLayouts()
shouldShowLoadingIndicator()
andshouldDismissLoadingIndicator()
toshouldUpdateLoadingState(_:)
SendbirdUI
initialize(applicationId:migrationStartHandler:completionHandler:)
toinitialize(applicationId:startHandler:migrationHandler:completionHandler:)
-
Common
- Renamed
SBUChannelListViewController
toSBUGroupChannelListViewController
- Added
SBUGroupChannelListModule
(Header
andList
components) class - Added
SBUGroupChannelListViewModel
class
- Renamed
-
SBUGroupChannelListViewController
- Added
headerComponent
andlistComponent
- Added
viewModel
- Added Delegate, DataSource functions
SBUGroupChannelListModuleHeaderDelegate
SBUGroupChannelListModuleListDelegate
SBUGroupChannelListModuleListDataSource
SBUGroupChannelListViewModelDelegate
SBUCommonViewModelDelegate
- Added
enableCreateChannelTypeSelector
- Added
createViewModel(channelListQuery:)
- Added
loadChannelTypeSelector()
- Added
showCreateChannelOrTypeSelector()
- Moved
titleView
,leftBarButton
andrightBarButton
intoSBUGroupChannelListModule.Header
- Moved
tableView
,channelCell
,customCell
andemptyView
intoSBUGroupChannelListModule.List
- Moved funtions into
SBUGroupChannelListModule.List
register(channelCell:nib:)
register(customCell:nib:)
reloadTableView()
didSelectRetry()
- Moved
channelListQuery
andincludeEmptyChannel
intoSBUGroupChannelListViewModel
- Moved funtions into
SBUGroupChannelListViewModel
initChannelList()
changePushTriggerOption(option:channel:completionHandler)
leaveChannel(_:completionHandler:)
resetChannelList()
loadNextChannelList(reset:)
sortChannelList(needReload:)
updateChannels(_:needReload:)
upsertChannels(_:needReload:)
deleteChannels(channelUrls:needReload:)
- Replaced
setLoading(_:_:)
toshowLoading(_:)
- Replaced
limit
to usechannelLoadLimit
inSBUGroupChannelListViewModel
- Replaced delegate functions and moved into
SBUGroupChannelListViewModel
channelListDidChange(_:needToReload:)
togroupChannelListViewModel(_:didChangeChannelList:needsToReload:)
channelDidUpdate(_:)
togroupChannelListViewModel(_:didUpdateChannel:)
channelDidLeave(_:)
togroupChannelListViewModel(_:didLeaveChannel:)
- Removed
isLoading
,lastUpdatedTimestamp
andlastUpdatedToken
- Removed functions
channel(_:userDidJoin user:)
channel(_:userDidLeave user:)
channelWasChanged(_:)
channel(_:messageWasDeleted:)
channelWasFrozen(_:)
channelWasUnfrozen(_:)
channel(_:userWasBanned:)
didSucceedReconnection()
- Added
-
Common
- Added
SBUCreateChannelModule
(Header
andList
components) class - Added
SBUCreateChannelViewModel
class
- Added
-
SBUCreateChannelViewController
- Added
headerComponent
andlistComponent
- Added
viewModel
- Added Delegate, DataSource functions
SBUCreateChannelModuleHeaderDelegate
SBUCreateChannelModuleHeaderDataSource
SBUCreateChannelModuleListDataSource
SBUCreateChannelModuleListDelegate
SBUCommonViewModelDelegate
SBUCreateChannelViewModelDataSource
SBUCreateChannelViewModelDelegate
- Added
createViewModel(users:type:)
- Added
createChannelWithSelectedUsers()
- Moved
titleView
,leftBarButton
andrightBarButton
intoSBUCreateChannelModule.Header
- Moved
tableView
,channelCell
, andemptyView
intoSBUCreateChannelModule.List
- Moved funtions into
SBUCreateChannelModule.List
register(userCell:nib:)
didSelectRetry()
- Moved
userListQuery
intoSBUCreateChannelModuleViewModel
- Moved funtions into
SBUCreateChannelModuleViewModel
loadNextUserList(reset:users:)
selectUser(user:)
createChannel(userIds:)
createChannel(params:messageListParams)
nextUserList()
- Replaced
onClickCreate()
tocreateChannelWithSelectedUsers()
- Replaced
reloadData()
to usereloadTableView()
inSBUCreateChannelModule.List
- Replaced
nextUserList()
to usecreateChannelViewModel(_:nextUserListForChannelType:)
inSBUCreateChannelViewModelDataSource
- Replaced
showLoading(state:)
toshowLoading(_:)
- Added
-
Common
- Renamed
SBUChannelViewController
toSBUGroupChannelViewController
- Added
SBUBaseChannelModule
(Header
,List
andInput
components) class - Added
SBUBaseChannelViewModel
class - Added
SBUGroupChannelModule
(Header
,List
andInput
components) class - Added
SBUGroupChannelViewModel
class - Added
SBUOpenChannelModule
(Header
,List
andInput
components) class - Added
SBUOpenChannelViewModel
class - Moved
titleView
,leftBarButton
andrightBarButton
intoSBUBaseChannelModule.Header
- Moved
channelStateBanner
,newMessageInfoView
,scrollBottomView
intoSBUBaseChannelModule.List
- Renamed
-
SBUBaseChannelViewController
- Added
baseHeaderComponent
,baseListComponent
,baseInputComponent
- Added
baseViewModel
- Added Delegate, DataSource functions
SBUBaseChannelViewModelDelegate
SBUBaseChannelModuleHeaderDelegate
SBUBaseChannelModuleListDelegate
SBUBaseChannelModuleListDataSource
SBUBaseChannelModuleInputDelegate
SBUBaseChannelModuleInputDataSource
SBUBaseChannelViewModelDataSource
SBUCommonViewModelDelegate
- Added
createViewModel(channel:channelUrl:messageListParams:startingPoint:showIndicator:)
- Added
updateChannelTitle()
- Added
updateChannelStatus()
- Added
showMenuViewController(_:message:)
- Added
showMenuModal(_:indexPath:message:)
- Added
showDeleteMessageMenu(message:oneTimetheme:)
- Added
updateNewMessageInfo(hidden:)
- Added
openFile(fileMessage:)
- Moved
tableView
,emptyView
,userProfileView
intoSBUBaseChannelModule.List
- Moved functions into
SBUBaseChannelModule.List
reloadTableView()
updateMessageInputModeState()
setScrollBottomView(hidden:)
- Moved
getMessageGroupingPosition(currentIndex:)
toSBUGroupChannelModule.List
(orSBUOpenChannelModule.List
) - Moved
messageInputView
andcurrentQuotedMessage
intoSBUBaseChannelModule.Input
- Moved
channel
,channelUrl
,startingPoint
,inEditingMessage
,messageListParams
,customizedMessageListParams
,messageList
andfullMessageList
intoSBUBaseChannelViewModel
- Moved functions into
SBUBaseChannelViewModel
loadChannel(channelUrl:messageListParams:)
clearMessageList()
setReaction(message:emojiKey:didSelect:)
updateMessagesInList(messages:needReload:)
upsertMessagesInList(messages:needUpdateNewMessage:needReload:)
deleteMessagesInList(messageIds:excludeResendableMessages:needReload:)
deleteResendableMessage(_:needReload:)
deleteResendableMessages(requestIds:needReload:)
sortAllMessageList(needReload:)
sendUserMessage(text:)
sendUserMessage(text:parentMessage:)
sendUserMessage(messageParams:parentMessage:)
sendFileMessage(fileData:fileName:mimeType:)
sendFileMessage(fileData:fileName:mimeType:parentMessage:)
sendFileMessage(messageParams:parentMessage:)
updateUserMessage(message:text:)
updateUserMessage(message:messageParams:)
resendMessage(failedMessage:)
didSucceedReconnection()
- Renamed
setEditMode(for:)
tosetMessageInputViewMode(_:message:)
- Renamed
deleteMessage(message:)
toshowDeleteMessageMenu(message:)
- Replaced
setLoading(_:_:)
toshowLoading(_:)
- Replaced functions and moved into
SBUBaseChannelModule.List
checkSameDayAsNextMessage(currentIndex:)
tocheckSameDayAsNextMessage(currentIndex:fullMessageList:)
- Replaced delegate functions and moved into
SBUBaseChannelModuleListDelegate
scrollToBottom(animated:)
tobaseChannelModuleDidTapScrollToButton(_:animated:)
setTapGestureHandler(_:message:)
tochannelModule(_:didTapMessage:cell:)
setLongTapGestureHandler(_:message:indexPath:)
tochannelModule(_:didLongTapMessage:cell:)
setUserProfileTapGestureHandler(_:)
tochannelModule(_:didTapUserProfile:cell:)
- Replaced functions and moved into
SBUBaseChannelViewModel
deleteMessagesInList(messageIds:needReload:)
todeleteMessagesInList(messageIds:excludeResendableMessages:needReload:)
channel(_:didUpdate message:)
tochannel(_:didUpdate:)
channel(_:messageWasDeleted messageId:)
tochannel(_:messageWasDeleted:)
- Replaced
isScrollNearBottom()
to usebaseChannelViewModel(_:isScrollNearBottomInChannel:)
inSBUBaseChannelViewModelDataSource
- Replaced delegate functions and moved into
SBUBaseChannelViewModelDelegate
channelDidChange(_:context:)
tobaseChannelViewModel(_:didChangeChannel:withContext:)
channelDidReceiveNewMessage(_:message:)
tobaseChannelViewModel(_:didReceiveNewMessage:forChannel:)
channelShouldFinishEditMode(_:)
tobaseChannelViewModel(_:shouldFinishEditModeForChannel:)
channelShouldDismiss(_:)
tobaseChannelViewModel(_:shouldDismissForChannel:)
channelWasChanged(_:)
tobaseChannelViewModel(_:didChangeChannel:withContext:)
channelWasFrozen(_:)
tobaseChannelViewModel(_:didChangeChannel:withContext:)
channelWasUnfrozen(_:)
tobaseChannelViewModel(_:didChangeChannel:withContext:)
channel(_:userWasMuted user:)
tobaseChannelViewModel(_:didChangeChannel:withContext:)
channel(_:userWasUnmuted user:)
tobaseChannelViewModel(_:didChangeChannel:withContext:)
channelDidUpdateOperators(_:)
tobaseChannelViewModel(_:didChangeChannel:withContext:)
channel(_:userWasBanned user:)
tobaseChannelViewModel(_:didChangeChannel:withContext:)
channel(_:userDidEnter user:)
tobaseChannelViewModel(_:didChangeChannel:withContext:)
channel(_:userDidExit user:)
tobaseChannelViewModel(_:didChangeChannel:withContext:)
channelWasDeleted(_:channelType:)
tobaseChannelViewModel(_:didChangeChannel:withContext:)
messageListDidChange(_:needToReload:isInitialLoad:)
tobaseChannelViewModel(_:didChangeMessageList:needsToReload:initialLoad:)
messageListShouldUpdateScroll(_:context:keepScroll:)
tobaseChannelViewModel(_:shouldUpdateScrollInMessageList:forContext:keepsScroll:)
message(_:didUpdateReaction reaction:)
tobaseChannelViewModel(_:didUpdateReaction:forMessage:)
- Replaced functions and moved into
SBUChannelModule.Input
sendImageFileMessage(info:)
topickImageFile(info:)
sendVideoFileMessage(info:)
topickVideoFile(info:)
sendDocumentFileMessage(documentUrls:)
topickDocumentFile(info:)
- Replaced delegate functions and moved into
SBUBaseChannelModuleInputDelegate
messageInputView(_:didSelectSend text:)
tobaseChannelModule(_:didTapSend:parentMessage:)
messageInputView(_:didSelectResource type:)
tobaseChannelModule(_:didTapResource:)
messageInputView(_:didSelectEdit text:)
tobaseChannelModule(_:didSelectEdit:)
messageInputView(_:didChangeText text:)
tobaseChannelModule(_:didChangeText:)
messageInputView(_:willChangeMode mode:message:)
tobaseChannelModule(_:willChangeMode:message:)
messageInputView(_:didChangeMode mode:message:)
tobaseChannelModule(_:didChangeMode:)
messageInputViewDidStartTyping()
tobaseChannelModuleDidStartTyping(_:)
messageInputViewDidEndTyping()
tobaseChannelModuleDidEndTyping(_:)
- Added
-
SBUGroupChannelViewController
- Added
headerComponent
,listComponent
,inputComponent
- Added
viewModel
- Added Delegate, DataSource functions
SBUGroupChannelViewModelDelegate
SBUGroupChannelViewModelDataSource
SBUGroupChannelModuleHeaderDelegate
SBUGroupChannelModuleListDelegate
SBUGroupChannelModuleListDataSource
SBUGroupChannelModuleInputDelegate
SBUGroupChannelModuleInputDataSource
- Moved
adminMessageCell
,userMessageCell
,fileMessageCell
,customMessageCell
,unknownMessageCell
intoSBUGroupChannelModule.List
- Moved funtions into
SBUGroupChannelModule.List
register(adminMessageCell:nib:)
register(userMessageCell:nib:)
register(fileMessageCell:nib:)
register(customMessageCell:nib:)
generateCellIdentifier(by:)
- Replaced functions and moved into
SBUGroupChannelModule.List
setUserMessageCellGestures(_:userMessage:indexPath:)
tolistComponent.setMessageCellGestures(_:message:indexPath:)
setFileMessageCellGestures(_:fileMessage:indexPath:)
tolistComponent.setMessageCellGestures(_:message:indexPath:)
setUnkownMessageCellGestures(_:unknownMessage:indexPath:)
tolistComponent.setMessageCellGestures(_:message:indexPath:)
scrollViewDidScroll(_:)
toscrollViewDidScroll(_:)
- Replaced delegate functions and moved into
SBUGroupChannelModuleListDelegate
setEmojiTapGestureHandler(_:emojiKey:)
tochannelModule(_:didTapEmoji:messageCell:)
setEmojiLongTapGestureHandler(_:emojiKey:)
tochannelModule(_:didLongTapEmoji:messageCell:)
setTapGestureHandler(_:message:)
tochannelModule(_:didTapMessage:cell:)
setLongTapGestureHandler(
tochannelModule(_:didLongTapMessage:cell:)
onClickScrollBottom(sender:)
tobaseChannelModuleDidTapScrollToButton(_:animated:)
channel(_:updatedReaction reactionEvent:)
tobaseChannelViewModel(_:didChangeChannel:withContext:)
channelDidUpdateReadReceipt(_:)
tobaseChannelViewModel(_:didChangeChannel:withContext:)
channelDidUpdateDeliveryReceipt(_:)
tobaseChannelViewModel(_:didChangeChannel:withContext:)
channelDidUpdateTypingStatus(_:)
tobaseChannelViewModel(_:didChangeChannel:withContext:)
- Added
-
SBUOpenChannelViewController
- Added
headerComponent
,listComponent
,inputComponent
andmediaComponent
- Added
viewModel
- Added Delegate, DataSource functions
SBUOpenChannelViewModelDelegate
SBUOpenChannelViewModelDataSource
SBUOpenChannelModuleHeaderDelegate
SBUOpenChannelModuleListDelegate
SBUOpenChannelModuleInputDelegate
SBUOpenChannelModuleMediaDelegate
SBUOpenChannelModuleListDataSource
SBUOpenChannelModuleInputDataSource
- Moved
channelInfoView
intoSBUOpenChannelModule.Header
- Moved
mediaView
intoSBUOpenChannelModule.Media
- Moved
adminMessageCell
,userMessageCell
,fileMessageCell
,customMessageCell
andunknownMessageCell
intoSBUOpenChannelModule.List
- Moved funtions into
SBUOpenChannelModule.List
register(adminMessageCell:nib:)
register(userMessageCell:nib:)
register(fileMessageCell:nib:)
register(customMessageCell:nib:)
generateCellIdentifier(by:)
- Repaced
updateRatio(mediaView:messageList:)
toupdateMessageListRatio(to:)
onClickScrollBottom(sender:)
to ``baseChannelModuleDidTapScrollToButton(_:animated:)`
- Replaced delegate function and moved into
SBUBaseChannelModuleHeaderDelegate
didSelectChannelInfo()
tochannelModule(_:didTapRightItem:)
didSelectChannelParticipants()
toopenChannelModuleDidTapParticipantList(_:)
onClickParticipantsList()
toopenChannelModuleDidTapParticipantList(_:)
- Replaced functions and moved into
SBUOpenChannelModule.List
setTapGestureHandler(_:message:)
tosetTapGesture(_:message:indexPath:)
setLongTapGestureHandler(_:message:indexPath:)
tosetLongTapGesture(_:message:indexPath:)
setUserMessageCellGestures(_:userMessage:indexPath:)
tosetMessageCellGestures(_:)
setFileMessageCellGestures(_:fileMessage:indexPath:)
tosetMessageCellGestures(_:)
setUnkownMessageCellGestures(_:unknownMessage:indexPath:)
tosetMessageCellGestures(_:)
scrollViewDidScroll(_:)
toscrollViewDidSScroll(_:)
- Replaced delegate function and moved into
SBUBaseChannelModuleListDelegate
- Added
-
Common
- Added
SBUBaseSelectUserViewController
class - Added
SBURegisterOperatorViewController
classSBUInviteUserViewController
class was subdivided- Invite user:
SBUInviteUserViewController
- Register operator:
SBURegisterOperatorViewController
- The common functions of the two classes are in the
SBUBaseSelectUserViewController
class
- Invite user:
- Added
SBUBaseSelectUserModule
(Header
andList
components) class - Added
SBUBaseSelectUserViewModel
class - Added
SBUInviteUserModule
(Header
andList
components) class - Added
SBUInviteUserViewModel
class - Added
SBURegisterOperatorModule
(Header
andList
components) class - Added
SBURegisterOperatorViewModel
class
- Added
-
SBUInviteUserViewController
- Added
headerComponent
andlistComponent
- Added
viewModel
- Added Delegate, DataSource functions
SBUInviteUserViewModelDataSource
SBUInviteUserModuleListDataSource
SBUInviteUserModuleHeaderDataSource
SBUInviteUserModuleHeaderDelegate
SBUInviteUserModuleListDelegate
SBUInviteUserViewModelDelegate
- Added
createViewModel(channel:channelUrl:channelType:users:)
- Added
inviteSelectedUsers()
- Moved
titleView
,leftBarButton
andrightBarButton
intoSBUInviteUserModule.Header
- Moved
tableView
,userCell
andemptyView
intoSBUInviteUserModule.List
- Moved functions into
SBUInviteUserModule.List
register(userCell:nib:)
- Moved
joinedUserIds
,userListQuery
,memberListQuery
andinviteListType
intoSBUBaseSelectUserViewModel
- Moved functions into
SBUBaseSelectUserViewModel
resetUserList
loadNextUserList(reset:users:)
selectUser(user:)
- Replaced
loadChannel(channelUrl:)
to useloadChannel(channelUrl:type:)
inSBUBaseSelectUserViewModel
- Replaced
inviteUsers()
toinviteSelectedUsers()
- Replaced
inviteUsers(userIds:)
to useinvite(userIds:)
inSBUInviteUserViewModel
- Replaced
promoteToOperators()
toregisterSelectedUsers()
- Replaced
promoteToOperators(memberIds:)
to useregisterAsOperators(userIds:)
inSBURegisterOperatorViewModel
- Replaced
reloadData()
to usereloadTableView()
inSBUBaseSelectUserModule.List
- Removed
init(channel:type:)
,init(channel:users:type:)
- use
init(channel:users:)
inSBUInviteUserViewController
orSBURegisterOperatorViewController
instead
- use
- Removed
init(channelUrl:type:)
,init(channelUrl:users:type:)
- use
init(channelUrl:users:)
inSBUInviteUserViewController
orSBURegisterOperatorViewController
instead
- use
- Removed
onClickInviteOrPromote()
- use
inviteSelectedUsers()
inSBUInviteUserViewController
orregisterSelectedUsers()
inSBURegisterOperatorViewController
instead
- use
- Added
-
[NEW] SBURegisterOperatorViewController
-
[NEW] SBUBaseSelectUserViewController
-
Common
- Renamed
SBUMemberListViewController
toSBUUserListViewController
- Added
SBUUserListModule
(Header
andList
components) class - Added
SBUUserListViewModel
class
- Renamed
-
SBUUserListViewController
- Added
headerComponent
andlistComponent
- Added
viewModel
- Added Delegate, DataSource functions
SBUUserListModuleHeaderDelegate
SBUUserListModuleListDelegate
SBUUserListModuleListDataSource
SBUCommonViewModelDelegate
SBUUserListViewModelDelegate
SBUUserListViewModelDataSource
- Added
createViewModel(channel:channelUrl:channelType:users:type:)
- Added
showUserProfile(with user:)
- Moved
titleView
,leftBarButton
andrightBarButton
intoSBUUserListModule.Header
- Moved
tableView
,userCell
andemptyView
intoSBUUserListModule.List
- Moved functions into
SBUUserListModule.List
register(userCell:nib:)
- Moved
memberListQuery
,operatorListQuery
,mutedMemberListQuery
,bannedUserListQuery
andparticipantListQuery
intoSBUUserListViewModel
- Moved functions into
SBUUserListViewModel
loadChannel(channelUrl:)
didSelectRetry()
channelDidUpdateOperators(_:)
channel(_:userDidJoin user:)
channel(_:userDidLeave user:)
channel(_:userDidExit user:)
channel(_:userDidEnter user:)
- Renamed
memberList
,memberListType
touserList
,userListType
- Renamed
bannedMemberListQuery
tobannedUserListQuery
- Renamed
init(channel:type:)
toinit(channel:userListType:)
- Renamed
init(channel:members:type:)
toinit(channel:users:userListType:)
- Renamed
init(channelURL:channelType:members:memberListType:)
toinit(channelURL:channelType:users:userListType:)
- Renamed
onClickInviteUser()
toshowInviteUser()
- Replaced
loadNextMemberList(reset:members:)
to useloadNextUserList(reset:users:)
inSBUUserListViewModel
- Replaced
loadMembers()
to useloadUsers()
inSBUUserListViewModel
- Replaced
preLoadNextMemberList(indexPath:)
to usepreLoadNextUserList(indexPath)
inSBUUserListViewModel
- Replaced
promoteToOperator(member:)
to useregisterAsOperator(user:)
inSBUUserListViewModel
- Replaced
dismissOperator(member:)
to useunregisterOperator(user:)
inSBUUserListViewModel
- Replaced
mute(member:)
to usemute(user:)
inSBUUserListViewModel
- Replaced
unmute(member:)
to useunmute(user:)
inSBUUserListViewModel
- Replaced
ban(member:)
to useban(user:)
inSBUUserListViewModel
- Replaced
unban(member:)
to useunban(user:)
inSBUUserListViewModel
- Replaced
resetMemberList()
,reloadMemberList()
to useresetUserList()
inSBUUserListViewModel
- Replaced
nextMemberList()
to useuserListViewModel(_:nextUserListForChannel:)
inSBUUserListViewModelDataSource
- Replaced
setMoreMenuActionHandler(_:)
to usesetMoreMenuTapAction(_:)
inSBUUserListModule.List
- Replaced
setUserProfileTapGestureHandler(_:)
to usesetUserProfileTapAction(_:)
inSBUUserListModule.List
- Replaced
register(userCell:nib:)
to useregister(userCell:nib:)
inSBUUserListModule.List
- Replaced
reloadData()
to usereloadTableView()
inSBUUserListModule.List
- Added
-
Common
- Added
SBUModerationsModule
(Header
andList
components) class - Added
SBUModerationsViewModel
class
- Added
-
SBUModerationsViewController
- Added
headerComponent
andlistComponent
- Added
viewModel
- Added Delegate, DataSource functions
SBUModerationsModuleHeaderDelegate
SBUModerationsModuleListDelegate
SBUModerationsModuleListDataSource
SBUCommonViewModelDelegate
SBUModerationsViewModelDelegate
- Added
createViewModel(channel:channelUrl:)
- Moved
titleView
,leftBarButton
andrightBarButton
intoSBUModerationsModule.Header
- Moved
tableView
intoSBUModerationsModule.List
- Moved
register(userCell:nib:)
intoSBUModerationsModule.List
- Moved functions into
SBUModerationsViewModel
loadChannel(channelUrl:)
freezeChannel(completionHandler:)
unfreezeChannel(completionHandler:)
- Renamed
showBannedMeberList()
toshowBannedUserList()
- Added
-
Common
- Added
SBUMessageSearchModule
(Header
andList
components) class - Added
SBUMessageSearchViewModel
class
- Added
-
SBUMessageSearchViewController
- Added
headerComponent
andlistComponent
- Added
viewModel
- Added Delegate, DataSource functions
SBUMessageSearchModuleHeaderDelegate
SBUMessageSearchModuleListDelegate
SBUMessageSearchModuleListDataSource
SBUCommonViewModelDelegate
SBUMessageSearchViewModelDelegate
- Added
createViewModel(channel:)
- Moved
tableView
,messageSearchResultCell
, andemptyView
intoSBUMessageSearchModule.List
- Moved
messageListParams
inSBUMessageSearchViewModel
- Moved
message(at:)
inSBUMessageSearchViewModel
- Replaced
searchBar
to usetitleView
inSBUMessageSearchModule.Header
- Replaced
setupSearchBarStyle(searchBar:)
to useupdateSearchBarStyle(with:)
inSBUMessageSearchModule.Header
- Replaced
register(messageSearchResultCell:nib:)
to use inSBUMessageSearchModule.List
- Added
-
Common
- Renamed
SBUBaseChannelSettingViewController
toSBUBaseChannelSettingsViewController
- Renamed
SBUChannelSettingsViewController
toSBUGroupChannelSettingsViewController
- Added
SBUBaseChannelSettingsModule
(Header
andList
components) class - Added
SBUBaseChannelSettingsViewModel
class - Added
SBUGroupChannelSettingsModule
(Header
andList
components) class - Added
SBUGroupChannelSettingsViewModel
class - Added
SBUOpenChannelSettingsModule
(Header
andList
components) class - Added
SBUOpenChannelSettingsViewModel
class
- Renamed
-
SBUBaseChannelSettingsViewController
- Added
baseHeaderComponent
andbaseListComponent
- Added
baseViewModel
- Added Delegate functions
SBUCommonViewModelDelegate
SBUBaseChannelSettingsViewModelDelegate
- Added
showChannelEditActionSheet()
- Added
showChannelImagePicker(with type:)
- Added
createViewModel(channel:channelUrl:)
- Added
updateRightBarButton()
- Moved
titleView
,leftBarButton
andrightBarButton
intoSBUBaseChannelSettingsModule.Header
- Moved
tableView
intoSBUBaseChannelSettingsModule.List
- Moved functions into
SBUBaseChannelSettingsViewModel
loadChannel(channelUrl:)
updateChannel(channelName:coverImage:)
channel(_:userDidJoin user:)
channel(_:userDidLeave user:)
channel(_:userDidExit user:)
channel(_:userDidEnter user:)
- Replaced
userInfoView
to usechannelInfoView
inSBUBaseChannelSettingsModule.List
- Renamed
onClickEdit()
toshowChannelEditActionSheet()
- Added
-
SBUGroupChannelSettingsViewController (SBUChannelSettingsViewController)
- Added
headerComponent
andlistComponent
- Added
viewModel
- Added Delegate, DataSource functions
SBUGroupChannelSettingsModuleHeaderDelegate
SBUGroupChannelSettingsModuleHeaderDataSource
SBUGroupChannelSettingsModuleListDelegate
SBUGroupChannelSettingsModuleListDataSource
SBUGroupChannelSettingsViewModelDelegate
- Added
createViewModel(channel:channelUrl:)
- Moved functions into
SBUGroupChannelSettingsViewModel
updateChannel(params:)
changeNotification(isOn:)
leaveChannel()
- Added
-
SBUOpenChannelSettingsViewController
- Added
headerComponent
andlistComponent
- Added
viewModel
- Added Delegate, DataSource functions
SBUOpenChannelSettingsModuleHeaderDelegate
SBUOpenChannelSettingsModuleListDelegate
SBUOpenChannelSettingsModuleListDataSource
SBUOpenChannelSettingsViewModelDelegate
- Added
createViewModel(channel:channelUrl:)
- Moved functions into
SBUGroupChannelSettingsViewModel
updateChannel(params:)
deleteChannel()
- Added
-
SBUStringSet
- Added
UserList_Title_Muted_Participants
- Added
Empty_No_Muted_Participants
- Renamed
ChannelSettings_Banned_Members
toChannelSettings_Banned_Users
- Renamed
Empty_No_Banned_Members
toEmpty_No_Banned_Users
- Renamed
InviteChannel_Header_Select_Members
toInviteChannel_Header_Select_Users
- Renamed
MemberList_Me
toUserList_Me
- Renamed
MemberList_Ban
toUserList_Ban
- Renamed
MemberList_Unban
toUserList_Unban
- Renamed
MemberList_Mute
toUserList_Mute
- Renamed
MemberList_Unmute
toUserList_Unmute
- Renamed
MemberList_Dismiss_Operator
toUserList_Unregister_Operator
- Renamed
MemberList_Promote_Operator
toUserList_Register_Operator
- Renamed
MemberList_Title_Members
toUserList_Title_Members
- Renamed
MemberList_Title_Operators
toUserList_Title_Operators
- Renamed
MemberList_Title_Muted_Members
toUserList_Title_Muted_Members
- Renamed
MemberList_Title_Banned_Members
toUserList_Title_Banned_Users
- Renamed
MemberList_Title_Participants
toUserList_Title_Participants
- Renamed
UserProfile_Promote
toUserProfile_Register
- Renamed
UserProfile_Dismiss
toUserProfile_Unregister
- Removed
MemberList_Header_Title
- Added
-
Common
- Renamed
ChannelMemberListType
toChannelUserListType
- Renamed
-
ChannelMemberListType
- Renamed
channelMembers
,mutedMembers
,bannedMembers
tomembers
,muted
,banned
- Renamed
-
ModerationItemType
- Renamed
bannedMembers
tobannedUsers
- Renamed
-
UserListType
- Renamed
channelMembers
,inviteUser
,mutedMembers
,bannedMembers
tomembers
,invite
,muted
,banned
- Renamed
-
EmptyViewType
- Renamed
noBannedMembers
tonoBannedUsers
- Renamed