Releases: sendbird/sendbird-uikit-react
Releases · sendbird/sendbird-uikit-react
[v3.15.8] (Nov 7th, 2024)
Fixes:
- Fixed an issue where the
dir
attribute was not being properly applied to message containers:- Removed
useMessageLayoutDirection
hook in favor of a more React-friendly solution - Updated
MessageList
component to directly handle text direction through thedir
attribute
- Removed
- Fixed an issue in TypingIndicatorBubble component where null was returned before hook execution
- Fixed SDK initialization parameter override issue:
- Modified Object.assign order to allow proper parameter override
- Added test case to verify
localCacheEnabled
override functionality - Ensures
sdkInitParams.localCacheEnabled
properly overrides default settings;localCacheEnabled: true
[v3.15.7] (Oct 24th, 2024)
Features:
- Added support for new file types and extensions.
- Added mime types:
'application/zip', 'application/x-rar-compressed', 'application/x-7z-compressed', 'application/x-tar', 'application/gzip', 'application/x-bzip', 'application/x-bzip2', 'application/x-xz', 'application/x-iso9660-image'
- Added extensions:
- Image:
'.apng', '.avif', '.gif', '.jpg', '.jpeg', '.jfif', '.pjpeg', '.pjp', '.png', '.svg', '.webp', '.bmp', '.ico', '.cur', '.tif', '.tiff'
- Video:
'.mp4', '.webm', '.ogv', '.3gp', '.3g2', '.avi', '.mov', '.wmv', '.mpg', '.mpeg', '.m4v', '.mkv'
- Audio:
'.aac', '.midi', '.mp3', '.oga', '.opus', '.wav', '.weba', '.3gp', '.3g2'
- Document:
'.txt', '.log', '.csv', '.rtf', '.pdf', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx'
- Archive:
'.zip', '.rar', '.7z', '.tar', '.gz', '.bz2', '.xz', '.iso'
- Image:
- Added mime types:
- Enhanced MessageBody rendering support:
- Added support for
.bmp
files asThumbnailMessage
- Added support for
.heic
files asFileMessage
for cross-browser consistency
- Added support for
Fixes:
- Fixed an issue where the
OpenChannel
message list scroll would not move upon initialization on mobile browsers. - Fixed an issue where the
MessageInput
failed to auto-scroll when pasting text. - Fixed an issue where ASCII characters appeared in the
MessageInput
when pasting non-English text.
[v3.15.6] (Oct 11th, 2024)
Features:
- Exported
useLocalization
Hook:- Provided access to stringSet and dateLocale.
- Note: Required SendbirdProvider to wrap your component for proper usage.
- Import Path:
"@sendbird/uikit-react/hooks/useLocalization"
- Exported
ThreadReplySelectType
:- Import Paths:
"@sendbird/uikit-react/Channel/context"
"@sendbird/uikit-react/GroupChannel/context"
- Import Paths:
Fixes
- Modified the
MessageInput
to scroll to the caret position when pasting text. - The maximum height of the
MessageInput
has been extended to'92px'
- Fixed an
error message
onMenuItemAction
when the children prop isundefined
[v3.15.5] (Oct 4th, 2024)
Updates
- Usage of template message feature:
- Template data in message
- removed: A message with valid
extendedMessagePayload.template
value will be displayed withTemplateMessageItemBody
. - added: A message with valid
extendedMessagePayload.message_template
value will be displayed withTemplateMessageItemBody
.
- Container type data in message
- removed: Added 'wide' width support for
MessageContent
when value exists inmessage.extendedMessagePayload['ui']['container_type']
- added: Added support for template message rendering options (boolean type):
profile
,time
, andnickname
inextendedMessagePayload['message_template']['container_options']
[v3.15.4] (Sep 26th, 2024)
Features
- Added stringSet for date format and applied them
Key Value DATE_FORMAT__MESSAGE_CREATED_AT 'p'
DATE_FORMAT__UNREAD_SINCE 'p MMM dd'
DATE_FORMAT__LAST_MESSAGE_CREATED_AT__TODAY 'p'
DATE_FORMAT__LAST_MESSAGE_CREATED_AT__THIS_YEAR 'MMM d'
DATE_FORMAT__LAST_MESSAGE_CREATED_AT__PREVIOUS_YEAR 'yyyy/M/d'
[v3.15.3] (Sep 12th, 2024)
Fixes
- Fixed incorrect styling for
Checkbox
. - Fixed the issue where the channel list appears empty when the UIKit is rendered for the first time.
[v3.15.2] (Sep 6th, 2024)
Features
-
Introduced new
message
event handlers foronSendMessageFailed
,
onUpdateMessageFailed
, andonFileUploadFailed
in theeventHandlers
prop of the message input component. These handlers allow developers to
respond to message send, update, and file upload failures.- How to use?
<Sendbird eventHandlers={{ message: { onSendMessageFailed: (message, error) => { // You can use the message parameter to create specific conditions if (message.isUserMessage()) { alert(`Message failed to send: ${error?.message}`); } }, onUpdateMessageFailed: (message, error) => { console.error(`Failed to update message: ${message.messageId}, Error: ${error}`); }, onFileUploadFailed: (error) => { console.error('File upload failed', error); }, }, }}
Fixes
- Fixed an issue where the channel UI's scroll did not work after
sending a new message. This issue was specific to the NextJS
environment.
[v3.15.1] (Aug 29, 2024)
Fixes
- Fixed unread count badge position on the ChannelPreview item component.
[v3.15.0] (Aug 29, 2024)
Features
-
UIKit now supports form messages! Messages with
messageForm
will be displayed as form messages.- Added
enableFormTypeMessage
global option- How to use?
<App appId={appId} userId={userId} uikitOptions={{ groupChannel: { // Below turns on the form message feature. Default value is false. enableFormTypeMessage: true, } }} />
MessageInput
is now being disabled if a channel has a form message that is not submitted and itsextendedMessagePayload['disable_chat_input']
value is true- Added
FormMessageItemBody
, andFormInput
- Added
-
Added support for EmojiCategory. You can now filter emojis for different messages when adding Reactions to a message.
-
Added
filterEmojiCategoryIds
toGroupChannelProvider
andThreadProvider
.- How to Use
const filterEmojiCategoryIds = (message: SendableMessage) => { if (message.customType === 'emoji_category_2') return [2]; return [1]; } <GroupChannel filterEmojiCategoryIds={filterEmojiCategoryIds} />
- Note: You need to set your custom EmojiCategory using Sendbird Platform API in advance.
-
Added sub-rendering props to the
ThreadListItem
andThreadListItemContent
components.- Added props list:
renderSenderProfile
,renderMessageBody
,renderMessageHeader
,renderEmojiReactions
, andrenderMobileMenuOnLongPress
. - How to use:
const CustomThread = () => ( <ThreadProvider> <ThreadUI renderMessage={(props) => ( <ThreadListItem {...props} renderSenderProfile={() => <></>} /> )} /> </ThreadProvider> );
- Added props list:
-
Exported subcomponents of
MessageContent
:import { MessageBody, MessageHeader, MessageProfile } from '@sendbird/uikit-react/ui/MessageContent';
Fixes
- Fixed broken CSS in Thread:
- Style was not applied to
ParentMessageInfo
until the first message was received on the thread list. - Scroll functionality was not working on the thread list.
- Style was not applied to
- Fixed an issue where HTML entities like
§
or<
were automatically converted to symbols when pasted into a contentEditable element, ensuring they are now preserved as plain text. - Fixed an issue where the style was breaking in messages due to emoji reactions.
- Fixed a bug where y-scroll was not working in
EditUserProfileUIView
when the app was displayed in horizontal view on mobile devices. - Fixed a bug where an offline banned user was not leaving the channel upon reconnecting in mobile view.
- Fixed thumbnail image overflow in OG messages in open channels.
- Fixed broken file viewer title in mobile view.
- Fixed a bug where markdown messages were incorrectly displayed in channel previews.
- Renamed the prop
onUserProfileMessage
toonStartDirectMessage
.- Deprecated the
onUserProfileMessage
prop inSendbirdProvider
andUserProfileProvider
. - Deprecated the
onUserProfileMessage
interface inSendbirdStateContext
andUserProfileContext
. - Use
onStartDirectMessage
instead.
- Deprecated the
[v3.14.14] (Aug 1, 2024)
Features
- Added
forceLeftToRightMessageLayout
to enable LTR message layout display in RTL mode. This helps users who sethtmlTextDirection='rtl'
to keep the message layout in LTR format (outgoing messages on the right, incoming messages on the left).import SendbirdProvider from ‘@sendbird/uikit-react/SendbirdProvider’; import ar from 'date-fns/locale/ar'; const YourComponent() => { return ( <SendbirdProvider htmlTextDirection="rtl" // for RTL display forceLeftToRightMessageLayout={true} // to enforce the message layout to Left-to-Right direction even though htmlTextDirection is set to ‘rtl’ dateLocale={ar} // locale setting would be necessary too {…other props} > {...other components} </SendbirdProvider> ) }
- Banned members no longer affect the ChannelSettings/Profile.
Fixes
- Fixed an issue where the
GroupChannelCollection
was not recreated whenchannelListQueryParams
changed. The channel list now refreshes when the values ofchannelListQueryParams
are updated. - Fixed a bug where replied child message width did not fit the content.
- Corrected the direction of some icons in RTL mode. Specifically, the leave channel icon and the broadcast channel icon.
- Fixed an issue where the feedback modal was not displayed on feedback button click in mobile view. No change in desktop view behavior.
- Fixed an issue where banned members affected the ChannelSettings/Profile. Banned members now do not affect these settings.
Chores
- Omitted
renderUserListItem
ofChannelSettingsUIProps
from theChannelSettingsProps
.