Skip to content

v3.3.0

Compare
Choose a tag to compare
@bang9 bang9 released this 23 Nov 03:33
· 347 commits to main since this release
51adda5

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)