Skip to content

Releases: sendbird/sendbird-uikit-react-native

v3.2.0

03 Nov 07:51
dd02958
Compare
Choose a tag to compare

3.2.0 (2023-11-03)

Release notes

  • Add chat init params to chatOptions in SendbirdUIKitContainer props.

  • Add reaction.onPressUserProfile to SendbirdUIKitContainer props.

  • Add scrollToMessage to GroupChannelContexts.MessageList.

  • Add Voice message

    const App = () => {
      return (
        <SendbirdUIKitContainer
          uikitOptions={{
            groupChannel: {
              enableVoiceMessage: true,
            },
          }}
          platformServices={{
            recorder: RecorderService,
            player: PlayerService,
          }}
        />
      );
    };

    Before using it, you should implement the RecorderService and PlayerService platform services.

    You can implement this easily by using helper functions.

    • CLI
      • Install react-native-permissions and react-native-audio-recorder-player.
      • Create platform services using createNativeRecorderService and createNativePlayerService.
    • Expo:
      • Install expo-av
      • Create platform services using createExpoRecorderService and createExpoPlayerService.
  • Fix the display of a message unavailable text if the message is not accessible.

  • Fix the search for messages within an accessible range.

  • Fix the usage of color variants in unknown group channel messages.

  • Fix the ensure that the UIKit configuration is always initialized, even in offline mode.

Changelogs

Features

  • add chat init params to chatOptions (7742853)
  • add createRecordFilePath method to FileServiceInterface (0b7fd40)
  • add reaction.onPressUserProfile to SendbirdUIKitContainer props (379bcce)
  • add scrollToMessage to group channel contexts (df48e2c)
  • add string set for microphone permission (9e9c2e1)
  • add string set for muted and frozen when sending a voice message (0c8d1f5)
  • add voice message config to uikit container (6f5de2c)
  • add yalc for local deployment (7778d67)
  • foundation: add audio icon (366d6af)
  • foundation: add progress bar component (af6a2fb)
  • foundation: add voice message input color set (b94d230)
  • foundation: implement voice file message component (f6d90db)
  • foundation: update icons (85d7d58)
  • implement cli player service (b136de4)
  • implement cli recorder service (e05cf93)
  • implement recorder and player service for expo (851ec0e)
  • implement voice message input (9e6bc75)
  • implement voice message logic (337d022)

Bug Fixes

  • await onClose for voice message input before displaying permission alert (62ef277)
  • CLNP-983: display a message unavailable text if the message is not accessible (e38512a)
  • CLNP-983: search for messages from an accessible range (b025f7f)
  • foundation: fixed to use color variant in unknown group channel message (1b8576a)
  • reset player and recorder if input closed with back button press (e8e43ec)
  • UIKIT-4452: uikit configuration should always be initialized (1e539bb)

Improvements

  • lift up the flatListRef to the provider and created MessageList context (4a6efdc)

v3.1.2

04 Oct 08:25
49d4821
Compare
Choose a tag to compare

3.1.2 (2023-10-04)

Release notes

  • Add chatOptions.localCacheEncryption to SendbirdUIKitContainer props
  • Filter deactivated users when making mention suggestions
  • In the case of a resolved version, an android inverted flatlist warning message is not displayed.

Changelogs

Features

  • add localCacheEncryption interface to container prop (3341992)

Bug Fixes

  • filter deactivated users when making mention suggestions (ee1e9c2)

v3.1.1

23 Aug 02:31
cc1e2d6
Compare
Choose a tag to compare

3.1.1 (2023-08-23)

Release notes

  • When there is a thumbnail in the message, uses the first thumbnail of the message

Changelogs

Features

  • use thumbnails if available (62f3ca0)

v3.1.0

11 Aug 06:47
1ff295c
Compare
Choose a tag to compare

3.1.0 (2023-08-11)

Release notes

  • Added Quote reply feature in group channels (default: turned on)
    const App = () => {
      <SendbirdUIKitContainer
        appId={APP_ID}
        uikitOptions={{
          groupChannel: {
            replyType: 'none', // 'none', 'quote_reply'
          },
        }}
      />;
    };
  • Updated the minimum chat SDK version to v4.9.8.
  • Improved video thumbnail fetching and caching logic in the native media service.
  • Enhanced stability.

Changelogs

Features

  • add video thumbnail component (e702155)
  • UIKIT-4240: implement basic quote reply logic (#103) (b4add0e)

Bug Fixes

  • add exception handling for unreachable parent message (9df42be)
  • unsent messages should be shown first of the message list (3a4544e)

v3.0.4

13 Jul 04:50
bf8ff37
Compare
Choose a tag to compare

3.0.4 (2023-07-13)

Release notes

  • Fix send file messages in Expo environment

Changelogs

Features

  • update expo-document-picker and support backward compatibility (364f805)

Bug Fixes

  • utils: extension should not contain dot in getMimeFromFileExtension (7be3d0c)
  • utils: getFileExtensionFromUri should return extension not a mime-type (e2df878)
  • utils: return extension of getFileExtensionFromMime should contain dot (85b6d18)

v3.0.3

11 Jul 23:33
f674e3c
Compare
Choose a tag to compare

3.0.3 (2023-07-11)

Release notes

  • Fix to send the file messages normally

Changelogs

Bug Fixes

  • utils: wrong mime type check condition in normalizeFile (1ca3789)

v3.0.2

10 Jul 01:40
2fb2eee
Compare
Choose a tag to compare

3.0.2 (2023-07-10)

Release notes

  • Fixed that unable to load next messages when message searching on iOS in a react-native environment lower than v0.72

Changelogs

Bug Fixes

  • revert "fix: do not use scrollview enhancer if the platform is not android (ff48e36)" (907b09e)

v3.0.1

04 Jul 12:57
6dbea50
Compare
Choose a tag to compare

3.0.1 (2023-07-04)

Release notes

Update expo modules and support backward compatibility

  • Latest version support for expo-av module
  • Latest version support for expo-clipboard module
  • Latest version support for expo-document-picker module
  • Latest version support for expo-file-system module
  • Latest version support for expo-image-manipulator module
  • Latest version support for expo-image-picker module
  • Latest version support for expo-media-library module
  • Latest version support for expo-notifications module
  • Latest version support for expo-video-thumbnails module

Changelogs

Bug Fixes

  • do not use scrollview enhancer if the platform is not android (ff48e36)
  • update expo modules and support backward compatibility (5c45ee6)

v3.0.0

28 Jun 05:04
210cca5
Compare
Choose a tag to compare

3.0.0 (2023-06-28)

Release notes

Feature configurations

  • The minimum @sendbird/chat version has been increased from 4.3.0 to 4.9.2.
  • You can now configure the features of UIKit through the uikitOptions prop of SendbirdUIKitContainer.
<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.

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 chatOptions prop of SendbirdUIKitContainer have been moved to uikitOptions prop.

    • chatOptions.enableUserMention is replaced with uikitOptions.groupChannel.enableMention
    • chatOptions.enableGroupChannelOGTag is replaced with uikitOptions.groupChannel.enableOgtag
    • chatOptions.enableChannelListTypingIndicator replaced with uikitOptions.groupChannelList.enableTypingIndicator
    • chatOptions.enableChannelListMessageReceiptStatus is replaced with uikitOptions.groupChannelList.enableMessageReceiptStatus
    • chatOptions.enableMessageSearch is replaced with uikitOptions.groupChannelSettings.enableMessageSearch
    • chatOptions.enableOpenChannelOGTag is replaced with uikitOptions.openChannel.enableOgtag
    • chatOptions.enableUsingDefaultUserProfile is replaced with uikitOptions.common.enableUsingDefaultUserProfile

Resources

  • StringSet

    • OPEN_CHANNEL.LIST_BANNER_FROZEN is replaced with LABELS.CHANNEL_MESSAGE_LIST_FROZEN
    • GROUP_CHANNEL.LIST_BANNER_FROZEN is replaced with LABELS.CHANNEL_MESSAGE_LIST_FROZEN
    • GROUP_CHANNEL.DIALOG_MESSAGE_COPY is replaced with LABELS.CHANNEL_MESSAGE_COPY
    • GROUP_CHANNEL.DIALOG_MESSAGE_EDIT is replaced with LABELS.CHANNEL_MESSAGE_EDIT
    • GROUP_CHANNEL.DIALOG_MESSAGE_SAVE is replaced with LABELS.CHANNEL_MESSAGE_SAVE
    • GROUP_CHANNEL.DIALOG_MESSAGE_DELETE is replaced with LABELS.CHANNEL_MESSAGE_DELETE
    • GROUP_CHANNEL.DIALOG_MESSAGE_DELETE_CONFIRM_TITLE is replaced with LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE
    • GROUP_CHANNEL.DIALOG_MESSAGE_DELETE_CONFIRM_OK is replaced with LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_OK
    • GROUP_CHANNEL.DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL is replaced with LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL
    • GROUP_CHANNEL.DIALOG_MESSAGE_FAILED_RETRY is replaced with LABELS.CHANNEL_MESSAGE_FAILED_RETRY
    • GROUP_CHANNEL.DIALOG_MESSAGE_FAILED_REMOVE is replaced with LABELS.CHANNEL_MESSAGE_FAILED_REMOVE
    • GROUP_CHANNEL.DIALOG_ATTACHMENT_CAMERA(LABELS.CHANNEL_INPUT_ATTACHMENT_CAMERA) is replaced with LABELS.CHANNEL_INPUT_ATTACHMENT_CAMERA_PHOTO and LABELS.CHANNEL_INPUT_ATTACHMENT_CAMERA_VIDEO
    • GROUP_CHANNEL.DIALOG_ATTACHMENT_PHOTO_LIBRARY is replaced with LABELS.CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY
    • GROUP_CHANNEL.DIALOG_ATTACHMENT_FILES is replaced with LABELS.CHANNEL_INPUT_ATTACHMENT_FILES
    • GROUP_CHANNEL.INPUT_PLACEHOLDER_ACTIVE is replaced with LABELS.CHANNEL_INPUT_PLACEHOLDER_ACTIVE
    • GROUP_CHANNEL.INPUT_PLACEHOLDER_DISABLED is replaced with LABELS.CHANNEL_INPUT_PLACEHOLDER_DISABLED
    • GROUP_CHANNEL.INPUT_PLACEHOLDER_MUTED is replaced with LABELS.CHANNEL_INPUT_PLACEHOLDER_MUTED
    • GROUP_CHANNEL.INPUT_EDIT_OK is replaced with LABELS.CHANNEL_INPUT_EDIT_OK
    • GROUP_CHANNEL.INPUT_EDIT_CANCEL is replaced with LABELS.CHANNEL_INPUT_EDIT_CANCEL
    • GROUP_CHANNEL_MEMBERS.USER_BAR_ME_POSTFIX is replaced with LABELS.USER_BAR_ME_POSTFIX
    • GROUP_CHANNEL_MEMBERS.USER_BAR_OPERATOR is replaced with LABELS.USER_BAR_OPERATOR
  • Theme

    • Messsage in colors is replaced with GroupChannelMessage (colors.ui.message -> colors.ui.groupChannelMessage)

Components

  • GroupChannelFragment(GroupChannelProps),

    • In order to specify the local cache as mandatory, the queryCreator prop has been removed.
  • ChannelMessageList (GroupChannelProps, OpenChannelProps)

    • onPressImageMessage prop is replaced with onPressMediaMessage
    • onLeaveScrollBottom prop is replaced with onScrolledAwayFromBottom
    • onPressAvatar prop is replaced with onShowUserProfile
  • ChannelInput (GroupChannelProps, OpenChannelProps)

    • onSendFileMessage prop is replaced with onPressSendUserMessage
    • onSendUserMessage prop is replaced with onPressSendUserMessage
    • onUpdateFileMessage prop is replaced with onPressUpdateUserMessage
    • onUpdateUserMessage prop is replaced with onPressUpdateFileMessage
  • GroupChannelListFragment(GroupChannelListProps)

    • In order to specify the local cache as mandatory, the queryCreator prop has been removed.
    • renderGroupChannelPreview has been changed from (channel: SendbirdGroupChannel, onLongPressChannel: () => void) => React.ReactElement | null to (props: { channel: SendbirdGroupChannel; onPress: () => void; onLongPress: () => void; }) => React.ReactElement | null.
  • MessageRenderer component is replaced with GroupChannelMessageRenderer

Hooks

  • useGroupChannelMessages, useOpenChannelMessages
    • nextMessages and newMessagesFromMembers properties are replaced with newMessages

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.localCacheStorage of SendbirdUIKitContainer required
  • 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.localCacheStorage of SendbirdUIKitContainer required (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...
Read more

v2.5.0

04 May 18:58
4e2d6a3
Compare
Choose a tag to compare

2.5.0 (2023-05-04)

Release notes

  • [BETA] Added message search feature

    • Added createMessageSearchFragment and createMessageSearchModule.
      Added searchItem prop to GroupChannelFragment.
  • @sendbird/react-native-scrollview-enhancer module as peer dependency.

    • Added @sendbird/react-native-scrollview-enhancer module as a peer dependency to support bidirectional scrolling and maintainVisibleContentPosition on Android with versions lower than 0.72.
    • If your React-Native version is 0.63.x, please use v0.1.2. If it is 0.64.x or higher, please use v0.2.0.
    • Note that this module includes an Android native module.
  • Changes to the behavior of useGroupChannelMessagesWithCollection.

    • Due to the support of the maintainVisibleContentPosition prop, nextMessages and newMessagesFromMembers have been deprecated and replaced with newMessages.

Changelogs

Features

  • added message search fragment (a6342c0)
  • implement focus animation on search item (7fe38e8)
  • implemented scroll-view enhancer (1dca4a0)

Bug Fixes

  • chat-hooks: fixed adding, updating, and deleting messages properly when returning from background to foreground in the open channel (50b2f23)
  • uikit: do not handle onUserBanned in open channel list (8ba9daa)
  • uikit: fixed mention suggestion properly based on updated members (fb50bbd)