Sendbird Uikit React Versions Save

Build chat in minutes with Sendbird UIKit open source code.

v3.14.6

1 week ago

[v3.14.6] (May 10, 2024)

Fixes

  • Fixed a bug where import statements are not located at the top of the extracted index.css file

v3.14.5

2 weeks ago

[v3.14.5] (May 04, 2024)

Fixes

  • Fixed a bug where channel scroll to bottom is not called internally when last message is updated with suggested replies

v3.14.4

2 weeks ago

[v3.14.4] (May 02, 2024)

Features

  • Added suggestedRepliesDirection global option which serves as vertical/horizontal scroll option for SuggestedReplies
    • How to use?
    <App
      appId={appId}
      userId={userId}
      uikitOptions={{
        groupChannel: {
          // Below turns on the `SuggestedReplies` feature (see v3.8.0 release changelog). Default value is false.
          enableSuggestedReplies: true,
          // Below changes scroll direction from horizontal to vertical.
          suggestedRepliesDirection: 'vertical'
        }
      }}
    />
    
  • Added a new ui component Header (import Header from '@sendbird/uikit-react/ui/Header') which replaced all existing header components
  • Added modal.onMounted handler to global eventHandlers. This event handler is triggered within the useEffect of the Modal component at mounting time.

Fixes

  • Fixed a bug where suggested replies are incorrectly displayed when showSuggestedRepliesFor is set to 'last_message_only'

v3.14.3

1 month ago

Features

  • Add outputFormat to the image compression options
    <SendbirdProvider
      ...
      imageCompression={{
        outputFormat: 'preserve' | 'png' | 'jpeg',
      }}
    >
    </SendbirdProvider>
    

Fixes

  • Set the message list padding with 12px in the mobile mode

v3.14.2

1 month ago

Fixes

  • Fixed a bug where right padding is added to messages sent by me in mobile devices
  • Removed image section in the OGMessageItemBody if there is no og image
  • Fixed that safely opens URL to prevent XSS
  • Fixed that copying URI-list issue in the iOS device/Safari
  • Fixed that channel badge count is not updated on iOS Webview

v3.14.1

1 month ago

Fixes

  • Fixed a bug where injecting an optional property with null value not rendering the expected default component
  • Updated the type of renderMessage in the OpenChannel module
  • Deprecated the renderInput prop and add a new renderMessageInput prop

v3.14.0

1 month ago

[v3.14.0] (Apr 5, 2024)

Feature

  • TemplateMessageItemBody now supports CarouselView type template
  • Added 'wide' width support for MessageContent when value exists in message.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, and color for message template items

Other fixes

  • Fixed a bug where scroll bar is displayed in message sender name container

v3.13.5

1 month ago

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

1 month ago

Feature

  • Support the Emoji Reactions feature in the super group channel
    • However, the Tooltip displaying who reacted will only appear in the normal group channel, not in the super group channel.
  • Export the MessageFeedbackFailedModal component for consistency with other message feedback-related components.

v3.13.3

1 month ago

Features

  • Added a renderMenuItem to the MessageMenu component
    • 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 onBeforeDownloadFileMessage to 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 onDownloadClick to the FileViewer, FileViewerView, MobileBottomSheet, MobileContextMenu, and MobileMenu

Fixes

  • Improved the stability of the ChannelSettings Modals
    • Support menu on the MembersModal, MutedMembersModal, and OperatorsModal
    • Display Operator description on the MembersModal
  • Fixed the width size of the OGMessageItemBody component
  • Added fallback logic on template rendering error
  • Replaced the hardcoded text (You) with the StringSet CHANNEL_SETTING__MEMBERS__YOU in the UserListItem