Features:
- Add channel handlers to the open channel settings
- Add an open channel handler into the OpenChannelSettings component
- Use operators property to render operator list on the OpenChannelSetting instead of fetching operators
- Export handlers through
@sendbird/uikit-react/handlers
, this is a workaround to fix an issue where inhertiance chains break custom handler implementation- ConnectionHandler ->
@sendbird/uikit-react/handlers/ConnectionHandler
- GroupChannelHandler ->
@sendbird/uikit-react/handlers/GroupChannelHandler
- OpenChannelHandler ->
@sendbird/uikit-react/handlers/OpenChannelHandler
- UserEventHandler ->
@sendbird/uikit-react/handlers/UserEventHandler
- Example: https://codesandbox.io/s/test-3-1-1-rc-5-f94w7i
- ConnectionHandler ->
Fixes:
- Update SendableMessage to UserMessage and FileMessage
- Change the type of MessageHandler.onFailed to FailedMessageHandler
- Add missing type defns into scripts/index_d_ts
- Typo in creating channelHandlerId on the ChannelList
Features:
- Support moderation in OpenChannel
- Provide moderations: mute, unmute, ban, and unban on the
- Provide moderations: register and unregister operator on the
- Add MutedParticipantList and MutedParticipantsModal into the
- Add BannedUserList and BannedUsersModal into the
- Add OperatorList and OperatorsModal into the
- Add AddOperatorsModal into the
Fixes:
- Explicitly export library as esm-module ESM library should have "type": "module" (package.json file that is going to /dist) This fixes Cannot use import outside module issue in next.js
- Add optional chaining for createApplicationUserList
- Fix QueryInProgress warning: React 18 strict mode glitch that causes useEffect to run twice
- Cannot connect sometimes when customApiHost is empty Connection couldnt be established with no error message when customApiHost and customWebSocketHost were passed as empty string
- Handle all chances of command not received error Handle chances of command not recieved error in markAsRead Experimental markasread handling -> longer times, no more call after unmount
- Move typing handler in channellist into local variable
Features:
- Accept customApiHost & customWebSocketHost as props to SendbirdProvider
- Add basic TS project sample
Fixes:
- Improve URL detection in OG message
- Add onCloseClick to MessageSearchProps
- Safe call removeGroupChannelHandler in TypingIndicator
- Apply userListQuery
- Type definition for channellist and setting
Features:
- Support
modules
andcomponents
in the UIKit - Upgraded to
@sendbird/chat@4
- Support react 18
- See the Migration Guide for Converting V2 to V3. [details]
- See more details and breaking changes. [details]
Feature:
- Show profile on clicking a mention
- Visual highlight when user is mention
- Add session handler interface
// its recommended to memoize configureSession function
const memoizedConfigureSession = (sb) => {
const sessionHandler = new sb.SessionHandler();
sessionHandler.onSessionTokenRequired = (onSuccess, onError) => {
};
return sessionHandler;
};
// see: https://sendbird.com/docs/chat/v3/javascript/guides/authentication
<SendbirdProvider
configureSession={memoizedConfigureSession}
/>
Fix:
- Change the front-weight of Subtitle2 from 600 to 500
- Modify mention badge position on the ChannelListItem component
- Change Info Icon size to 20px on the SuggestedMentionListItem component
- Differentiate the message status 'read' and 'delivered' with message grouping
- Modify KeyDown event handler on the message input for sending Korean text edge case Fix: Mention related stuff
- Modify the onMouseOver event on the SuggestedMentionList component
- Filter 'html' text when pasting text to the MessageInput component
- Hide and apply ellipsis for overflowing text on the SuggestedMentionListItem component
- Deactivate the MessageInput component when the current user is muted or the current channel is frozen
- Reset the mention states of the current channel when changing channel and closing the edit MessageInput component
Fixes:
- Export useChannelList
- Active disableAutoSelect props
- Remove empty CSS file to fix source map warning
DOC:
- Add info about webpack 5 breaking changes
Fixes:
- Rate limit markAsDelivered call
- Do not render date separator when renderCustomSeparator is null Misc:
- Update Chat SDK minimum version to
3.1.13
Feature:
-
Mention
- Add isMentionEnabled props to the and
- Add userMention into the config props of the andd
- <SendbirdProvider config={{ userMention: { maxMentionCount: 10, maxSuggestionCount: 15 } }} />
- maxMentionCount: A maximum count that you can mention in the message input
- maxSuggestionCount: A maximum user count that the SuggestedMentionList suggests for user mention
- Create SuggestedMentionList component under the Channel smart component
- Create SuggestedUserMentionItem component
- Create MentionUserLabel ui component
- Add string set
- MENTION_NAME__NO_NAME: '(No name)'
- MENTION_COUNT__OVER_LIMIT: 'You can mention up to %d times per message.' Fix:
-
Type definition file fix for TS project For typescript projects, add
node_modules/@sendbird/uikit-react/index.d.ts
to yourinclude
section in tsconfig file to get type definitions -
Move font import to top of CSS file Some bundlers such as parcel throw error:
@import rules must precede all rules aside from @charset and @layer statements
Resolve this issue by moving the line to the top
This is the official beta for Sendbird UIKit for React version 3!
TLDR -> We split the old smart-components
into modules which contian context and UI. Context contain logic and UI Components handle UI
Check out the v2 to v3 migration guide for details
Changelog:
- Package should be installed using
@sendbird/uikit-react
- Restructure smart-components into modules that contain a context and related UI components
- Export these context and UI components to allow fine-grain customization
- Recommend to use these context elements
useXXXXX()
and react function components to make custom components - All generic UI components are available as exports
- Restrcuture export paths to allow better tree-shaking
- Example:
import { useChannel } from '@sendbird/uikit-react/Channel/context';
import ChannelUI from '@sendbird/uikit-react/Channel/components/ChannelUI';
- We keep older export patterns to make migration easier
- Retained modules - ChannelList, Channel, ChannelSettings, OpenChannel, OpenChannelSettings, MessageSearch
- New modules(not including context and ui of above) - CreateChannel, EditUserProfile, ui