Skip to content

Releases: sendbird/sendbird-uikit-react

[v3.15.8] (Nov 7th, 2024)

07 Nov 04:54
Compare
Choose a tag to compare

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 the dir attribute
  • 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)

24 Oct 06:34
Compare
Choose a tag to compare

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'
  • Enhanced MessageBody rendering support:
    • Added support for .bmp files as ThumbnailMessage
    • Added support for .heic files as FileMessage for cross-browser consistency

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)

11 Oct 04:58
Compare
Choose a tag to compare

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"

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 on MenuItemAction when the children prop is undefined

[v3.15.5] (Oct 4th, 2024)

11 Oct 04:57
Compare
Choose a tag to compare

Updates

  • Usage of template message feature:
    1. Template data in message
    • removed: A message with valid extendedMessagePayload.template value will be displayed with TemplateMessageItemBody.
    • added: A message with valid extendedMessagePayload.message_template value will be displayed with TemplateMessageItemBody.
    1. Container type data in message
    • removed: Added 'wide' width support for MessageContent when value exists in message.extendedMessagePayload['ui']['container_type']
    • added: Added support for template message rendering options (boolean type): profile, time, and nickname in extendedMessagePayload['message_template']['container_options']

[v3.15.4] (Sep 26th, 2024)

26 Sep 06:31
Compare
Choose a tag to compare

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)

12 Sep 05:41
Compare
Choose a tag to compare

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)

06 Sep 06:25
Compare
Choose a tag to compare

Features

  • Introduced new message event handlers for onSendMessageFailed,
    onUpdateMessageFailed, and onFileUploadFailed in the eventHandlers
    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)

29 Aug 10:38
Compare
Choose a tag to compare

Fixes

  • Fixed unread count badge position on the ChannelPreview item component.

[v3.15.0] (Aug 29, 2024)

29 Aug 08:42
Compare
Choose a tag to compare

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 its extendedMessagePayload['disable_chat_input'] value is true
    • Added FormMessageItemBody, and FormInput
  • Added support for EmojiCategory. You can now filter emojis for different messages when adding Reactions to a message.

  • Added filterEmojiCategoryIds to GroupChannelProvider and ThreadProvider.

    • How to Use
    const filterEmojiCategoryIds = (message: SendableMessage) => {
        if (message.customType === 'emoji_category_2') return [2];
    
        return [1];
    }
    
    <GroupChannel 
      filterEmojiCategoryIds={filterEmojiCategoryIds}
    />
  • Added sub-rendering props to the ThreadListItem and ThreadListItemContent components.

    • Added props list: renderSenderProfile, renderMessageBody, renderMessageHeader, renderEmojiReactions, and renderMobileMenuOnLongPress.
    • How to use:
    const CustomThread = () => (
      <ThreadProvider>
        <ThreadUI
          renderMessage={(props) => (
            <ThreadListItem
              {...props}
              renderSenderProfile={() => <></>}
            />
          )}
        />
      </ThreadProvider>
    );
  • 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.
  • Fixed an issue where HTML entities like &sect or &lt 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 to onStartDirectMessage.
    • Deprecated the onUserProfileMessage prop in SendbirdProvider and UserProfileProvider.
    • Deprecated the onUserProfileMessage interface in SendbirdStateContext and UserProfileContext.
    • Use onStartDirectMessage instead.

[v3.14.14] (Aug 1, 2024)

01 Aug 07:37
Compare
Choose a tag to compare

Features

  • Added forceLeftToRightMessageLayout to enable LTR message layout display in RTL mode. This helps users who set htmlTextDirection='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 when channelListQueryParams changed. The channel list now refreshes when the values of channelListQueryParams 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 of ChannelSettingsUIProps from the ChannelSettingsProps.