Build chat in minutes with Sendbird UIKit open source code.
Bot releases are hidden (Show)
Published by bang9 7 months ago
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>
);
};
Published by bang9 7 months ago
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;
Published by bang9 8 months ago
Published by bang9 9 months ago
channelListQueryParams
prop to GroupChannelListFragment
.collectionCreator
is deprecated and replaced by channelListQueryParams
)
<GroupChannelList
channelListQueryParams={{
includeEmpty: true,
includeFrozen: true,
}}
/>
messageListQueryParams
prop to GroupChannelFragment
.collectionCreator
is deprecated and replaced by messageListQueryParams
)
<GroupChannel
channelUrl={channelUrl}
messageListQueryParams={{
prevResultLimit: 20,
customTypesFilter: ['filter'],
}}
/>
CommonComponent
.React.ComponentType
instead of the function structure.Published by bang9 9 months ago
Published by bang9 11 months ago
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.
Published by bang9 12 months ago
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
andreact-native-audio-recorder-player
.- Create platform services using
createNativeRecorderService
andcreateNativePlayerService
.- Expo:
- Install
expo-av
- Create platform services using
createExpoRecorderService
andcreateExpoPlayerService
.
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.
Published by bang9 about 1 year ago
chatOptions.localCacheEncryption
to SendbirdUIKitContainer propsPublished by bang9 about 1 year ago
const App = () => {
<SendbirdUIKitContainer
appId={APP_ID}
uikitOptions={{
groupChannel: {
replyType: 'none', // 'none', 'quote_reply'
},
}}
/>;
};
Published by bang9 over 1 year ago
Published by bang9 over 1 year ago
expo-av
moduleexpo-clipboard
moduleexpo-document-picker
moduleexpo-file-system
moduleexpo-image-manipulator
moduleexpo-image-picker
moduleexpo-media-library
moduleexpo-notifications
moduleexpo-video-thumbnails
modulePublished by bang9 over 1 year ago
@sendbird/chat
version has been increased from 4.3.0 to 4.9.2.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,
},
},
}}
/>
<SendbirdUIKitContainer chatOptions={{ localCacheStorage: AsyncStorage }} />
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
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
)GroupChannelFragment
(GroupChannelProps
),
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
)
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
useGroupChannelMessages
, useOpenChannelMessages
nextMessages
and newMessagesFromMembers
properties are replaced with newMessages
chatOptions.localCacheStorage
of SendbirdUIKitContainer
requiredchatOptions.localCacheStorage
of SendbirdUIKitContainer
required (2f07d0d)Published by bang9 over 1 year ago
[BETA] Added message search feature
@sendbird/react-native-scrollview-enhancer module as peer dependency.
Changes to the behavior of useGroupChannelMessagesWithCollection.
Published by bang9 over 1 year ago
Published by bang9 over 1 year ago