Skip to content

Releases: sendbird/sendbird-uikit-react-native

v3.5.3

28 May 08:38
Compare
Choose a tag to compare

3.5.3 (2024-05-28)

Release notes

  • Fixed the issue where frozen and muted were not considered as the highest priority in determining the disabled status of the input.
  • Removed defaultProps from the Image component.
  • Added handling to process image/jpg mime type when deciding whether to apply image compression.

Changelogs

Bug Fixes

  • handle image/jpg mime type to determine image compress properly (37f346d)
  • when frozen or muted, input should be disabled (712ae97)

v3.5.2

23 Apr 05:54
b43229b
Compare
Choose a tag to compare

3.5.2 (2024-04-23)

Release notes

  • Added the inputDisabled prop to the Input component of the GroupChannel and OpenChannel modules as a public interface.

Changelogs

Features

  • inputDisabled prop opened as public (6eb4ad0)

v3.5.1

08 Apr 01:12
7bf8b81
Compare
Choose a tag to compare

3.5.1 (2024-04-08)

Release notes

  • Removed unused ios media library permission in the FileService implementation.

Changelogs

Bug Fixes

  • remove unused ios media library permission (0a65f4f)

v3.5.0

26 Mar 02:40
d1153f2
Compare
Choose a tag to compare

3.5.0 (2024-03-26)

Release notes

  • Added enableReactionsSupergroup to enable reactions in super group channels.
    import { SendbirdUIKitContainer } from '@sendbird/uikit-react-native';
    
    const App = () => {
      return (
        <SendbirdUIKitContainer
          uikitOptions={{
            groupChannel: {
              enableReactionsSupergroup: true,
            },
          }}
        >
          {/* Rest of your app */}
        </SendbirdUIKitContainer>
      );
    };

Changelogs

Features

  • support reactions for super group channel (8ab0720)

v3.4.3

20 Mar 00:10
8c5b814
Compare
Choose a tag to compare

3.4.3 (2024-03-20)

Release notes

  • Added disableFastImage prop to Image component in foundation package.
    import { Image } from '@sendbird/uikit-react-native-foundation';
    
    // If you don't want to use FastImage in UIKit for React Native, you can specify this default prop
    if (Image.defaultProps) Image.defaultProps.disableFastImage = true;

Changelogs

Features

  • foundation: add disableFastImage prop to Image component (538cabb)

v3.4.2

06 Mar 02:12
e388063
Compare
Choose a tag to compare

3.4.2 (2024-03-06)

Release notes

  • Removed conditional hooks even if they depend on an unchanging value.
  • Fixed an issue with the sdk type in the useSendbirdChat() hook.

Changelogs

Bug Fixes

  • remove conditional hooks even if they depend on an unchanging value. (d61e137)

v3.4.1

06 Feb 06:38
b3f416e
Compare
Choose a tag to compare

3.4.1 (2024-02-06)

Release notes

  • Added channelListQueryParams prop to GroupChannelListFragment.
    It allows you to set the query parameters for the channel list. (collectionCreator is deprecated and replaced by channelListQueryParams)
      <GroupChannelList
        channelListQueryParams={{
          includeEmpty: true,
          includeFrozen: true,
        }}
      />
  • Added messageListQueryParams prop to GroupChannelFragment.
    It allows you to set the query parameters for the message list. (collectionCreator is deprecated and replaced by messageListQueryParams)
      <GroupChannel
        channelUrl={channelUrl}
        messageListQueryParams={{
          prevResultLimit: 20,
          customTypesFilter: ['filter'],
        }}
      />
  • Fixed an issue where a type error occurred in the CommonComponent.
    It used React.ComponentType instead of the function structure.

Changelogs

Bug Fixes

  • use ComponentType instead of function structure in CommonComponent type (2cf00e9)

v3.4.0

30 Jan 02:14
fc6ddd2
Compare
Choose a tag to compare

3.4.0 (2024-01-30)

Release notes

  • Implemented a zoomable image viewer into FileViewer.
  • Changed the horizontal and vertical padding of TextInput to padding with directions.

Changelogs

Features

  • implement zoomable image viewer to FileViewer (06a4f95)

Bug Fixes

  • replace padding horizontal and vertical (24f49b4)

v3.3.0

23 Nov 03:33
51adda5
Compare
Choose a tag to compare

3.3.0 (2023-11-23)

Release notes

  • Add typing indicator bubble feature.

    TypingIndicatorBubble is a new typing indicator UI that can be turned on through typingIndicatorTypes option.
    When turned on, it will be displayed in GroupChannelMessageList upon receiving typing event in real time.

    import { SendbirdUIKitContainer, TypingIndicatorType } from '@sendbird/uikit-react-native';
    
    const App = () => {
      return (
        <SendbirdUIKitContainer
          uikitOptions={{
            groupChannel: {
              typingIndicatorTypes: new Set([TypingIndicatorType.Bubble]),
            },
          }}
        />
      );
    };
  • Add bottomSheetItem to the props of renderMessage.

    bottomSheetItem is a new prop for renderMessage that can be utilized to add a custom item to the bottom sheet of a message.
    It can be used to add a custom menu item to the bottom sheet of a message.

    import { GroupChannelMessageRenderer } from '@sendbird/uikit-react-native';
    import { useBottomSheet } from '@sendbird/uikit-react-native-foundation';
    
    const GroupChannelScreen = () => {
      const { openSheet } = useBottomSheet();
    
      const onOpenMessageMenu = (bottomSheetItem) => {
        if (!bottomSheetItem) return;
    
        openSheet({
          ...bottomSheetItem,
          sheetItems: [
            // Update bottomSheetItem.sheetItems or append your custom menu item
            ...bottomSheetItem.sheetItems,
            { icon: 'search', title: 'Search', onPress: () => console.log('Search') },
          ],
        });
      };
    
      return (
        <GroupChannelFragment
          renderMessage={(props) => {
            return (
              <GroupChannelMessageRenderer {...props} onLongPress={() => onOpenMessageMenu(props.bottomSheetItem)} />
            );
          }}
        />
      );
    };
  • Fix the not found Promise.allSettled error in Hermes.

  • Fix the vertical alignment of iOS TextInput.

Changelogs

Features

  • add bottomSheetItem to props of renderMessage (83f8710)
  • add typing indicator bubble ui and logic (9223b43)

Bug Fixes

  • add promise polyfills for hermes (2f31a45)
  • adjust lineHeight of iOS TextInput (c9c253e)
  • if the bubble renders and the scroll reaches the bottom, it should scroll to bottom on android (a866422)

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)