Releases: sendbird/sendbird-uikit-react
v3.14.0
[v3.14.0] (Apr 5, 2024)
Feature
TemplateMessageItemBodynow supportsCarouselViewtype template- Added 'wide' width support for
MessageContentwhen value exists inmessage.extendedMessagePayload['ui']['container_type'] - Added template version validation for
TemplateMessageItemBody
Message template fixes/updates
- Fixed a bug where argb color values are not converted to rgba
- Fixed a bug where style properties expecting numeric values are set with string values
- Removed default values of
borderRadius,backgroundColor, andcolorfor message template items
Other fixes
- Fixed a bug where scroll bar is displayed in message sender name container
[v3.13.5] (Apr 5, 2024)
Fixes
- Add a logger to the GroupChannelProvider for failing get channel
- Reduce the OGTag height in the mobile layout
- Prevent force refreshing of the ChannelSettings
- Keep context menu when failing the member operations (register/unregister operator, mute/unmute)
- Keep profile image during member operations on the MembersModal
[v3.13.4] (Mark 27, 2024)
Feature
- Support the
Emoji Reactionsfeature in the super group channel- However, the
Tooltipdisplaying who reacted will only appear in the normal group channel, not in the super group channel.
- However, the
- Export the
MessageFeedbackFailedModalcomponent for consistency with other message feedback-related components.
v3.14.0-beta.2
[v3.14.0-beta.2] (Mar 22, 2024)
Fixes
- Fixed a bug where swiping
Carouselin mobile view displaying flickering effect - Added missing default
font-familyvalue tosendbird-message-template__root
[v3.13.3] (Mar 22, 2024)
Features
- Added a
renderMenuItemto theMessageMenucomponent- How to use?
<GroupChannel renderMessageContent={(props) => ( <MessageContent {...props} renderMessageMenu={(props) => ( <MessageMenu {...props} renderMenuItem={(props) => { const { className, onClick, dataSbId, disable, text, } = props; return <MenuItem /> // Render Custom Menu Item }} /> )} /> )} />
- Added
onBeforeDownloadFileMessageto the<GroupChannel />and<Thread />modules- How to use?
const ONE_MB = 1024 * 1024; /** * Use this list to check if it's displayed as a ThumbnailMessage. * (https://github.com/sendbird/sendbird-uikit-react/blob/main/src/utils/index.ts) */ const ThumbnailMessageTypes = [ 'image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/svg+xml', 'image/webp', // not supported in IE 'video/mpeg', 'video/ogg', 'video/webm', 'video/mp4', ]; <GroupChannel // or Thread onBeforeDownloadFileMessage={async ({ message, index = null }) => { if (message.isFileMessage()) { const confirmed = window.confirm(`The file size is ${(message.size / ONE_MB).toFixed(2)}MB. Would you like to continue downloading?`); return confirmed; } if (message.isMultipleFilesMessage()) { const confirmed = window.confirm(`The file size is ${(message.fileInfoList[index].fileSize / ONE_MB).toFixed(2)}MB. Would you like to continue downloading?`); return confirmed; } return true; }} />
- Added
onDownloadClickto theFileViewer,FileViewerView,MobileBottomSheet,MobileContextMenu, andMobileMenu
Fixes
- Improved the stability of the ChannelSettings Modals
- Support menu on the
MembersModal,MutedMembersModal, andOperatorsModal - Display
Operatordescription on theMembersModal
- Support menu on the
- Fixed the
widthsize of theOGMessageItemBodycomponent - Added fallback logic on template rendering error
- Replaced the hardcoded text
(You)with the StringSetCHANNEL_SETTING__MEMBERS__YOUin theUserListItem
v3.14.0-beta
[v3.14.0-beta] (Mar 15, 2024)
Features
- Added 'wide' and 'full' width support for
MessageContentwhen value exists inmessage.extendedMessagePayload['ui']['container_type'] - Added
Carouselui component MessageTemplatenow supports composite templates
[v3.13.2] (Mar 14, 2024)
Features
- Add a
renderHeaderprops to the ChannelSettingsUIProps<ChannelSettingsUI renderHeader={() => ...} />
Fixes
- Deprecated the
onClickprop inUserListItemand addedonUserAvatarClick. The deprecated prop will be removed in the next major version - Added throttling in
mute/unmuteoperation - Added throttling in
add/removeoperator operation - Fixed that the Chat SDK is not initialized more than once
- Display the normal
FileMessagefor the.movvideo - Show
Xbutton on the ModalHeader of mobile mode - Modify the incorrect stringSet on the BannedUsersModal
CHANNEL_SETTING__MUTED_MEMBERS__TITLEtoCHANNEL_SETTING__BANNED_MEMBERS__TITLECHANNEL_SETTING__MODERATION__BANtoCHANNEL_SETTING__MODERATION__UNBAN- also modified the dataSbId,
channel_setting_banned_user_context_menu_bantochannel_setting_banned_user_context_menu_unban
- Fixed a specific environment issue (Android emulator) - Resolved an issue in modals used in ChannelSettings such as MembersModal, MutedMembersModal, AddOperatorsModal, OperatorsModal, BannedUsersModal, where even when scrolling to the end, additional members were not fetched
- Fixed a specific environment issue (Safari) - Similarly addressed an issue within lists inside modals, where overflow occurred instead of scrolling
v3.13.1
v3.13.0
[v3.13.0] (Feb 29, 2024)
Template message feature
Now we are supporting template message feature!
A message with valid extendedMessagePayload.template value will be displayed with TemplateMessageItemBody.
- Added new ui components:
MessageTemplateTemplateMessageItemBodyFallbackTemplateMessageItemBodyLoadingTemplateMessageItemBody
Others
- Added
showSuggestedRepliesForglobal option- How to use?
<App appId={appId} userId={userId} uikitOptions={{ groupChannel: { // Below setting always shows `SuggestedReplies` component of a message. Default value is 'last_message_only'. showSuggestedRepliesFor: 'always', } }} />
- Added
renderSuggestedRepliesinMessagemodule- How to use?
<Channel renderSuggestedReplies={(suggestedRepliesProps) => { const { replyOptions, onSendMessage, message } = suggestedRepliesProps; return <CustomSuggestedReplies options={replyOptions} />; }} />
- Added
renderMobileMenuOnLongPressinMessageContentProps- How to use?
<Channel renderMessageContent={(props) => ( <MessageContent {...props} renderMobileMenuOnLongPress={(mobileMenuProps: MobileBottomSheetProps) => ( <CustomMobileMenu {...mobileMenuProps} /> )} /> )} />
Fixes
- Fixed a bug where bouncing animation is applied to pending message
- Fixed a bug
useChannelSettingsContextnot returning channel on initial mount due to channel requests being made before the SDK connection success
v3.12.1
[v3.12.1] (Feb 26, 2024)
Fixes:
-
Added loading status to the
ChannelSettingsmodule and addressed some layout issues -
Added support for multiple lines in the
MessageInputon mobile devices -
Fixed hard-coded text to localization text for uploading file size and count limits
-
Fixed the
MessageListParamstype in theChannelProvider -
Fixed requests for empty image paths during the image optimization process
-
Fixed an infinite loop issue occurring when using the
GroupChannel/components/MessageandChannel/components/Messagecomponents in therenderMessagemethod of theGroupChannelandChannelmodules -
The
renderMessagemethod of theGroupChannelmodule no longer nests messages under theMessagecomponent. If a container element for theMessagecomponent is needed, use it as follows:import { GroupChannel } from '@sendbird/uikit-react/GroupChannel'; import { Message } from '@sendbird/uikit-react/GroupChannel/components/Message'; const GroupChannelPage = () => { return ( <GroupChannel renderMessage={(props) => { return ( <Message message={props.message}> <div>{props.message.messageId}</div> </Message> ) }} /> ) }
-
The
renderMessageprop of theChannel/components/MessageandGroupChannel/components/Messagecomponents has been deprecated. Instead, use thechildrenprop to customize message sub-elements<Message message={props.message}> <div>{props.message.messageId}</div> </Message>
-
Added detailed comments for customizing-related props in the
GroupChannelmodule