v3.0.0
3.0.0 (2023-06-28)
Release notes
Feature configurations
- The minimum
@sendbird/chatversion has been increased from 4.3.0 to 4.9.2. - You can now configure the features of UIKit through the
uikitOptionsprop ofSendbirdUIKitContainer.
<SendbirdUIKitContainer
uikitOptions={{
common: {
enableUsingDefaultUserProfile: true,
},
groupChannel: {
enableMention: false,
enableOgtag: true,
enableReaction: true,
enableTypingIndicator: true,
input: {
camera: {
enablePhoto: true,
enableVideo: true,
},
gallery: {
enablePhoto: true,
enableVideo: true,
},
enableDocument: true,
},
},
groupChannelList: {
enableTypingIndicator: true,
enableMessageReceiptStatus: true,
},
groupChannelSettings: {
enableMessageSearch: true,
},
openChannel: {
enableOgtag: true,
input: {
camera: {
enablePhoto: true,
enableVideo: true,
},
gallery: {
enablePhoto: true,
enableVideo: true,
},
enableDocument: true,
},
},
}}
/>Breaking changes
Project configurations
The minimum React-Native version has been increased from 0.63.3 to 0.65.0.
- Supports stable Metro bundler version.
- Supports stable React-Native APIs (e.g. EventSubscription).
- Minimum iOS version for deployment has been changed to 11. (link)
- An increase in the minimum Gradle version is required for stable operation.
- https://react-native-community.github.io/upgrade-helper/?from=0.63.5&to=0.65.3
Local cache is now a mandatory requirement.
- You must inject localCacheStorage into SendbirdUIKitContainer.
<SendbirdUIKitContainer chatOptions={{ localCacheStorage: AsyncStorage }} />Code migrations and removal of deprecated items
Feature configurations
-
The feature configuration options that were previously present in the
chatOptionsprop ofSendbirdUIKitContainerhave been moved touikitOptionsprop.chatOptions.enableUserMentionis replaced withuikitOptions.groupChannel.enableMentionchatOptions.enableGroupChannelOGTagis replaced withuikitOptions.groupChannel.enableOgtagchatOptions.enableChannelListTypingIndicatorreplaced withuikitOptions.groupChannelList.enableTypingIndicatorchatOptions.enableChannelListMessageReceiptStatusis replaced withuikitOptions.groupChannelList.enableMessageReceiptStatuschatOptions.enableMessageSearchis replaced withuikitOptions.groupChannelSettings.enableMessageSearchchatOptions.enableOpenChannelOGTagis replaced withuikitOptions.openChannel.enableOgtagchatOptions.enableUsingDefaultUserProfileis replaced withuikitOptions.common.enableUsingDefaultUserProfile
Resources
-
StringSet
OPEN_CHANNEL.LIST_BANNER_FROZENis replaced withLABELS.CHANNEL_MESSAGE_LIST_FROZENGROUP_CHANNEL.LIST_BANNER_FROZENis replaced withLABELS.CHANNEL_MESSAGE_LIST_FROZENGROUP_CHANNEL.DIALOG_MESSAGE_COPYis replaced withLABELS.CHANNEL_MESSAGE_COPYGROUP_CHANNEL.DIALOG_MESSAGE_EDITis replaced withLABELS.CHANNEL_MESSAGE_EDITGROUP_CHANNEL.DIALOG_MESSAGE_SAVEis replaced withLABELS.CHANNEL_MESSAGE_SAVEGROUP_CHANNEL.DIALOG_MESSAGE_DELETEis replaced withLABELS.CHANNEL_MESSAGE_DELETEGROUP_CHANNEL.DIALOG_MESSAGE_DELETE_CONFIRM_TITLEis replaced withLABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_TITLEGROUP_CHANNEL.DIALOG_MESSAGE_DELETE_CONFIRM_OKis replaced withLABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_OKGROUP_CHANNEL.DIALOG_MESSAGE_DELETE_CONFIRM_CANCELis replaced withLABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_CANCELGROUP_CHANNEL.DIALOG_MESSAGE_FAILED_RETRYis replaced withLABELS.CHANNEL_MESSAGE_FAILED_RETRYGROUP_CHANNEL.DIALOG_MESSAGE_FAILED_REMOVEis replaced withLABELS.CHANNEL_MESSAGE_FAILED_REMOVEGROUP_CHANNEL.DIALOG_ATTACHMENT_CAMERA(LABELS.CHANNEL_INPUT_ATTACHMENT_CAMERA)is replaced withLABELS.CHANNEL_INPUT_ATTACHMENT_CAMERA_PHOTOandLABELS.CHANNEL_INPUT_ATTACHMENT_CAMERA_VIDEOGROUP_CHANNEL.DIALOG_ATTACHMENT_PHOTO_LIBRARYis replaced withLABELS.CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARYGROUP_CHANNEL.DIALOG_ATTACHMENT_FILESis replaced withLABELS.CHANNEL_INPUT_ATTACHMENT_FILESGROUP_CHANNEL.INPUT_PLACEHOLDER_ACTIVEis replaced withLABELS.CHANNEL_INPUT_PLACEHOLDER_ACTIVEGROUP_CHANNEL.INPUT_PLACEHOLDER_DISABLEDis replaced withLABELS.CHANNEL_INPUT_PLACEHOLDER_DISABLEDGROUP_CHANNEL.INPUT_PLACEHOLDER_MUTEDis replaced withLABELS.CHANNEL_INPUT_PLACEHOLDER_MUTEDGROUP_CHANNEL.INPUT_EDIT_OKis replaced withLABELS.CHANNEL_INPUT_EDIT_OKGROUP_CHANNEL.INPUT_EDIT_CANCELis replaced withLABELS.CHANNEL_INPUT_EDIT_CANCELGROUP_CHANNEL_MEMBERS.USER_BAR_ME_POSTFIXis replaced withLABELS.USER_BAR_ME_POSTFIXGROUP_CHANNEL_MEMBERS.USER_BAR_OPERATORis replaced withLABELS.USER_BAR_OPERATOR
-
Theme
Messsagein colors is replaced withGroupChannelMessage(colors.ui.message->colors.ui.groupChannelMessage)
Components
-
GroupChannelFragment(GroupChannelProps),- In order to specify the local cache as mandatory, the
queryCreatorprop has been removed.
- In order to specify the local cache as mandatory, the
-
ChannelMessageList(GroupChannelProps,OpenChannelProps)onPressImageMessageprop is replaced withonPressMediaMessageonLeaveScrollBottomprop is replaced withonScrolledAwayFromBottomonPressAvatarprop is replaced withonShowUserProfile
-
ChannelInput(GroupChannelProps,OpenChannelProps)onSendFileMessageprop is replaced withonPressSendUserMessageonSendUserMessageprop is replaced withonPressSendUserMessageonUpdateFileMessageprop is replaced withonPressUpdateUserMessageonUpdateUserMessageprop is replaced withonPressUpdateFileMessage
-
GroupChannelListFragment(GroupChannelListProps)- In order to specify the local cache as mandatory, the
queryCreatorprop has been removed. renderGroupChannelPreviewhas been changed from(channel: SendbirdGroupChannel, onLongPressChannel: () => void) => React.ReactElement | nullto(props: { channel: SendbirdGroupChannel; onPress: () => void; onLongPress: () => void; }) => React.ReactElement | null.
- In order to specify the local cache as mandatory, the
-
MessageRenderercomponent is replaced withGroupChannelMessageRenderer
Hooks
useGroupChannelMessages,useOpenChannelMessagesnextMessagesandnewMessagesFromMembersproperties are replaced withnewMessages
Changelogs
⚠ BREAKING CHANGES
- update signature of channel preview prop in group channel list and open channel list
- removed queryCreator from the group channel and group channel list
- update minimum chat sdk version
- bumped peer dependency version of chat sdk
- react-native minimum version changed to 0.65.0 from 0.63.3
- made
chatOptions.localCacheStorageofSendbirdUIKitContainerrequired - deprecated item removal in foundation package
- deprecated item removal in ChannelInput
- deprecated MessageRenderer removal (replaced to GroupChannelMessageRenderer)
- deprecated item removal in ChannelMessageList
- deprecated item removal in uikit-chat-hooks package
- deprecated item removal in StringSet
Features
- added AttachmentsButton to ChannelInput component (687f3a0)
- bumped peer dependency version of chat sdk (a57aff0)
- deprecated item removal in ChannelInput (6a326ca)
- deprecated item removal in ChannelMessageList (3a68a33)
- deprecated item removal in foundation package (96f9717)
- deprecated item removal in StringSet (956236b)
- deprecated item removal in uikit-chat-hooks package (48fabfe)
- deprecated MessageRenderer removal (replaced to GroupChannelMessageRenderer) (488e0b6)
- hide ui elements when the channel is ephemeral (eacc2da)
- made
chatOptions.localCacheStorageofSendbirdUIKitContainerrequired (2f07d0d) - react-native minimum version changed to 0.65.0 from 0.63.3 (39a9852)
- support options for default user profile(default: false) (6671a61)
- support options for ogtag in channel (d80b8a0)
- update minimum chat sdk version (5330d1f)
- use uikitWithAppInfo internally (a182ead)
Bug Fixes
- ensure correct display of reply messages when replyType is configured in uikit configs (a00b089)
- fixed config linking in mention manager (6e8ba6c)
- fixed menuItemsCreator timing (279fd98)
- fixed onPress related handlers in message renderer for proper functionality (6da20db)
- focusing animation of message search results has been modified to apply only to the message component (c5d22a2)
- foundation: fixed slight cropping at the bottom of images in AvatarGroup (76ccadf)
- replaced unsupported Object.hasOwn (f165273)
Miscellaneous Chores
- removed queryCreator from the group channel and group channel list (ca3bc98)
- update signature of channel preview prop in group channel list and open channel list (d3e8afa)