sendbird-uikit-react-native

Build chat in minutes with Sendbird UIKit open source code.

Downloads
79.3K
Stars
70
Committers
4

Bot releases are visible (Hide)

sendbird-uikit-react-native - v3.0.2

Published by bang9 over 1 year ago

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)
sendbird-uikit-react-native - v3.0.1

Published by bang9 over 1 year ago

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)
sendbird-uikit-react-native - v3.0.0

Published by bang9 over 1 year ago

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)
  • update minimum chat sdk version (5330d1f)
  • use uikitWithAppInfo internally (a182ead)

Bug Fixes

  • ensure correct display of reply messages when replyType is configured in uikit configs (a00b089)
  • fixed config linking in mention manager (6e8ba6c)
  • fixed menuItemsCreator timing (279fd98)
  • fixed onPress related handlers in message renderer for proper functionality (6da20db)
  • focusing animation of message search results has been modified to apply only to the message component (c5d22a2)
  • foundation: fixed slight cropping at the bottom of images in AvatarGroup (76ccadf)
  • replaced unsupported Object.hasOwn (f165273)

Miscellaneous Chores

  • removed queryCreator from the group channel and group channel list (ca3bc98)
  • update signature of channel preview prop in group channel list and open channel list (d3e8afa)

Improvements

  • defensively modify reducer logic to prevent duplicate objects (bc3cfb1)
  • modify useGroupChannel and useOpenChannel hooks to refetch the channel when the url has changed (5b8e105)
  • react-native-scrollview-enhancer handle as a optional (d570851)
sendbird-uikit-react-native - v2.5.0

Published by bang9 over 1 year ago

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)
sendbird-uikit-react-native - v2.4.2

Published by bang9 over 1 year ago

2.4.2 (2023-04-28)

Features

  • uikit: added queryCreator prop to GroupChannelBannedUsersFragment (dd682e8)
  • uikit: added queryCreator prop to GroupChannelMembersFragment (38eb2fe)
  • uikit: added queryCreator prop to GroupChannelMutedMembersFragment (37e6be7)
  • uikit: added queryCreator prop to GroupChannelOperatorsFragment (63d08e8)
  • uikit: added queryCreator prop to GroupChannelRegisterOperatorFragment (7e1485a)
  • uikit: added queryCreator prop to OpenChannelBannedUsersFragment (16e1e4c)
  • uikit: added queryCreator prop to OpenChannelMutedParticipantsFragment (0e7c462)
  • uikit: added queryCreator prop to OpenChannelOperatorsFragment (d7746f5)
  • uikit: added queryCreator prop to OpenChannelParticipantsFragment (01f82da)
  • uikit: added queryCreator prop to OpenChannelRegisterOperatorFragment (3693856)

Improvements

  • chat-hooks: removed deps from useConnectionHandler (6acf65c)
sendbird-uikit-react-native - v2.4.1

Published by bang9 over 1 year ago

2.4.1 (2023-03-24)

Bug Fixes

  • uikit: fixed connection failure due to duplicate network listener invocation on v4.6.0+ session token connection. (ff761f3)
  • utils: properly retrieve file extensions from URLs that contain query parameters (7401d55)

Improvements

  • refactored createFileService functions and utils structure (5e44d4f)
sendbird-uikit-react-native - v1.1.5

Published by bang9 over 1 year ago

1.1.5 (2023-03-24)

Bug Fixes

  • utils: properly retrieve file extensions from URLs that contain query parameters (68b1b5a)
sendbird-uikit-react-native - v2.4.0

Published by bang9 over 1 year ago

2.4.0 (2023-03-15)

Features

  • added open channel message components (2cbdcba)
  • foundation: added OpenChannelPreview component (6a6503d)
  • hooks: added useGroupChannel hook (9a6b996)
  • hooks: added useOpenChannelList and useOpenChannelMessages hooks (e41e076)
  • hooks: useChannelHandler supports open channel handler (3d95e7b)
  • uikit: added open channel banned users fragment. (391a871)
  • uikit: added open channel create fragment (21d4bb5)
  • uikit: added open channel fragment (6250770)
  • uikit: added open channel list fragment (61fff68)
  • uikit: added open channel moderation fragment (539b3d2)
  • uikit: added open channel muted participants fragment (f876ba7)
  • uikit: added open channel operators fragment (aea29af)
  • uikit: added open channel participants fragment (c4dd37f)
  • uikit: added open channel register operator fragment (be883c9)
  • uikit: added open channel settings fragment (48ebf2a)
  • utils: added useDebounceEffect hook (dc90bb4)
  • utils: added usePartialState hook (f76fe69)

Bug Fixes

  • chat-hooks: modified to manually update failed messages when using query in useChannelMessages hook (0f7b0ce)
  • uikit: added missing onLoadNext call to user list components (6592e11)

Improvements

  • replaced useUniqId to useUniqHandlerId (543e149)
  • uikit: added disabled option to errorBoundary in SendbirdUIKitContainer props (6070d54)
  • uikit: expanded interfaces for channel input to make customization implementation easier (4d3f183)
  • uikit: extract base channel input component from group channel module (462291e)
sendbird-uikit-react-native - v2.3.0

Published by bang9 over 1 year ago

2.3.0 (2023-02-09)

Features

  • added image compression feature (568b5bb)
  • utils: added useSafeAreaPadding hook (80cd9ab)

Bug Fixes

  • added missing labels for permissions (89186bd)
  • chat-hooks: do not clear next message when loading prev message (6508144)
  • uikit: fixed to useContext type compiles the correct package path (d17ccb0)
  • uikit: support compatibility for removing AppState listener under 0.65 (b122691)
sendbird-uikit-react-native - v1.1.4

Published by bang9 over 1 year ago

1.1.4 (2023-01-31)

Bug Fixes

  • uikit: support compatibility for removing AppState listener under 0.65 (4aaba86)
sendbird-uikit-react-native - v2.2.0

Published by bang9 almost 2 years ago

2.2.0 (2023-01-03)

Features

  • added group channel notifications fragment (dfb891d)
  • foundation: added dynamic header to bottom sheet (850cb68)
  • foundation: added mention related props to group channel preview (507a1af)
  • foundation: added reaction ui color (5b272e5)
  • uikit: added emoji manager (1cad175)
  • uikit: added reaction addons (1a0db30)
  • uikit: added reaction bottom sheets (07ae1ad)
  • uikit: added reaction user list bottom sheet (e9ef7e9)

Bug Fixes

  • added missing keyExtractor to list components of modules (4ee1108)
  • android selection bug (d2b4c8c)
  • chat-hooks: admin message is not added via onMessagesAdded handler (0bbb499)
  • chat-hooks: fixed wrong error variable name in the useUserList query catch (82c6f6f)

Improvements

sendbird-uikit-react-native - v2.1.0

Published by bang9 almost 2 years ago

2.1.0 (2022-12-06)

⚠ BREAKING CHANGES

  • uikit: update camera roll module

Features

  • added group channel type selector (9fb7a19)
  • chat-hooks: added useGroupChannel hook (9392dea)
  • foundation: added profile card ui (472f02f)
  • support broadcast and supergroup channel (895fa3b)
  • uikit: added enableUseUserIdForNickname option (5d3cfd8)
  • uikit: added group channel banned users fragment (80e1a5e)
  • uikit: added group channel moderations fragment (4213e6d)
  • uikit: added group channel muted members fragment (3784b73)
  • uikit: added group channel operators add fragment (4ac84ee)
  • uikit: added group channel operators fragment (c7f6626)
  • uikit: added mini profile card (0877463)
  • uikit: added moderation in group channel members (9b25059)
  • utils: added buffered request function (d3e375c)

Bug Fixes

  • chat-hooks: prevent MESSAGE_RECEIVED handler called twice when receiving new message. (ab988c6)

Improvements

  • chat-hooks: removed activeChannel from useGroupChannelMessages for normalizing (70fb1c7)
  • uikit: update camera roll module (5ddb5d3)

Documentation

  • added list banned users in group channel (4f60dfb)
  • added list muted members (877d7d8)
  • added list operators in group channel (a4afbf7)
  • added moderating channels and members page (aad20af)
  • added register member as operators (7dde222)
  • update docs validation snippet (4aaeb89)
sendbird-uikit-react-native - v2.0.3

Published by bang9 almost 2 years ago

2.0.3 (2022-12-01)

Improvements

sendbird-uikit-react-native - v1.1.3

Published by bang9 almost 2 years ago

1.1.3 (2022-10-26)

Bug Fixes

  • foundation: position of toast when keyboard is up on iOS (ccd0ff2)
  • uikit: call setBackgroundState only on background status (505ed2b)
sendbird-uikit-react-native - v2.0.1

Published by bang9 almost 2 years ago

2.0.1 (2022-10-26)

Bug Fixes

  • foundation: position of toast when keyboard is up on iOS (bc98b4f)
  • uikit: call setBackgroundState only on background status (ca89ecc)
sendbird-uikit-react-native - v2.0.0

Published by bang9 about 2 years ago

2.0.0 (2022-10-11)

Documentation

  • resources: added missing import desc (1824b65)
sendbird-uikit-react-native - v2.0.0-rc.0

Published by bang9 about 2 years ago

2.0.0-rc.0 (2022-10-11)

⚠ BREAKING CHANGES

  • migrated to Chat SDK v4

Features

  • migrated to Chat SDK v4 (5ce9e4f)

Bug Fixes

  • utils: remove useLayoutEffect sync from useFreshCallback (d5656be)

Documentation

sendbird-uikit-react-native - v1.1.2

Published by bang9 about 2 years ago

1.1.2 (2022-09-28)

Features

  • added an alert to go to app settings when permission is not granted (QM-1799) (dfb9322)

Bug Fixes

  • changed default limit in useGroupChannelListWithCollection hook (260fa6c)
  • ellipsis name in the message (QM-1788, QM-1790) (cf39461)
  • fixed createFileService.native to save media files properly on Android (QM-1766) (939d2b4)
  • fixed createFileService.native to save video files properly on iOS13 (QM-1765) (811039b)
  • truncate file viewer header title(QM-1798) (6c34292)
sendbird-uikit-react-native - v1.1.1

Published by bang9 about 2 years ago

1.1.1 (2022-09-14)

Features

  • chat-hooks: added useMessageOutgoingStatus hook (f3af2a7)

Bug Fixes

  • added missing collectionCreator prop to GroupChannelListFragment (d06d60e)
  • chat-hooks: respect the order of group channel collection and query. (913875d)
sendbird-uikit-react-native - v1.1.0

Published by bang9 about 2 years ago

1.1.0 (2022-08-31)

Features

  • uikit: added file viewer component (9b9d52b)
  • uikit: added TypingIndicator and MessageReceiptStatus in Channel List (39c54fc)
  • uikit: added video message component and media service (15713e5)

Bug Fixes

  • uikit: changed type of createExpoNotificationService param (e030128)

Documentation

Improvements

  • chat-hooks: remove deps from useChannelHandler (fe4ec27)
Package Rankings
Top 4.34% on Npmjs.org
Badges
Extracted from project README
Platform React-Native Language TypeScript
Related Projects