Build chat in minutes with Sendbird UIKit open source code.
MIT License
Published by AhyoungRyu over 1 year ago
Some small changes are included after 3.5.1 released
Published by HoonBaek over 1 year ago
Fixes:
scrollBottom
on channel state loadingmessage.type
property is emptyPublished by HoonBaek over 1 year ago
Mobile Browser UX Revamp
We have revamped the UX to support mobile devices -
This feature is disabled by default. To enable this feature, add the following prop to SendBirdProvider
& App
component.
breakpoint?: string | boolean
Example:
<SendBirdProvider breakpoint="768px">
const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
return (
<SendbirdProvider breakpoint={isMobile} />
{
isMobile
? <MobileChatLayout />
: <DesktopChatLayout />
}
</SendbirdProvider>
)
Other props:
Configure UIKit through Dashboard(not released yet)
We are doing groundwork to support configuring UIKit through
the dashboard. This will allow you to configure UIKit without
having to add props to each component. This feature will not be a
breaking change and will be backwards compatible.
Published by HoonBaek over 1 year ago
Published by AhyoungRyu over 1 year ago
The RC contains below feature config related changes
Published by AhyoungRyu over 1 year ago
modules/App
Published by AhyoungRyu over 1 year ago
@sendbird/uikit-tools
Published by sravan-s over 1 year ago
Fixes:
https://sendbird.atlassian.net/browse/UIKIT-4029
https://sendbird.atlassian.net/browse/UIKIT-4048
https://sendbird.atlassian.net/browse/UIKIT-3925
https://sendbird.atlassian.net/browse/UIKIT-4031
https://sendbird.atlassian.net/browse/UIKIT-3901
https://sendbird.atlassian.net/browse/UIKIT-3952
https://sendbird.atlassian.net/browse/UIKIT-4037
https://sendbird.atlassian.net/browse/UIKIT-4044
Published by sravan-s over 1 year ago
Published by sravan-s over 1 year ago
Fixes:
ChannelList
MarkAsRead & MarkAsDelivered
Scrolling
Mention
Special channels
Reply
Thread
OpenChannel
Chores:
Contributors: @AhyoungRyu @HoonBaek @sravan-s
Published by sravan-s over 1 year ago
Nightly for mobile ~
Published by sravan-s over 1 year ago
Fixes:
.*+?^${}()|[\]\\
characters.renderUserProfile
proprenderChannelProfile
in place of renderUserProfile
.Chores:
Contributors: @chrisallo, @HoonBaek , @AhyoungRyu , @sravan-s
Published by sravan-s over 1 year ago
Jira comments points here, But release note is in
https://github.com/sendbird/sendbird-uikit-react/releases/tag/3.4.7
Published by AhyoungRyu over 1 year ago
Important Notes:
abortcontroller-polyfill
plugin. Please use version 4.7.2 or install it separately.Features:
ToggleContainer
: A context provider component that manages only the toggle status.ToggleUI
: A UI component that does not include the status managing logic.Toggle
: A combination of ToggleContainer and ToggleUI components.useToggleContext
: A custom useContext hook that provides context from ToggleContainer.import { Toggle, ToggleContainer, ToggleUI, useToggleContext } from '@sendbird/ui/Toggle';
Fixes:
isMuted
to the participant list. Operators can now unmute the muted participants from the participant list.Chores:
const reconnect = useConnect({
appId,
userId,
accessToken,
}, {
logger,
nickname,
profileUrl,
configureSession,
customApiHost,
customWebSocketHost,
sdk: sdkStore?.sdk,
sdkDispatcher,
userDispatcher,
});
smart-components/
to modules/
.Published by HoonBaek over 1 year ago
Fixes:
markAsReadScheduler
method throttles markAsRead
calls.<GroupChannel />
scrolls.<GroupChannel />
in a web page with scroll.v3.4.4
.isVoiceMessageEnabled
is true.Published by sravan-s over 1 year ago
Features:
Add a message list filter of UI level in the Channel
module
Add Channel.filterMessageList?: (messages: BaseMessage): boolean;
, a UI level filter prop
to Channel. This function will be used to filter messages in <MessageList />
example:
// set your channel URL
const channel = "";
export const ChannelWithFilter = () => {
const channelFilter = useCallback((message) => {
const now = Date.now();
const twoWeeksAgo = now - 1000 * 60 * 60 * 24 * 14;
return message.createdAt > twoWeeksAgo;
}, []);
return (
<Channel
channelUrl={channel}
filterMessageList={channelFilter}
/>
);
};
Improve structure of message UI for copying
Before:
After:
Word
and convertWordToStringObj
Export MessageProvider, a simple provider to avoid prop drilling into Messages
Note - this is still in works, but these props will remain
export type MessageProviderProps = {
children: React.ReactNode;
message: BaseMessage;
isByMe?: boolean;
}
import { MessageProvider, useMessageContext } from '@sendbird/uikit-react/Message/context'
Incase if you were using MessageComponents and see error message
useMessageContext must be used within a MessageProvider
use: <MessageProvider message={message}><CustomMessage /></MessageProvider>
Add a scheduler for calling markAsRead intervally
markAsRead
is called on individual channels is un-optimal(causes command ack. error)Fixes:
ChannelList
when opening channel from the parent message of Thread
MessageInput
component
<div>text</div>
for new lines inside content editable div(input)br
Thanks @HoonBaek @AhyoungRyu
Published by sravan-s over 1 year ago
Features:
Fixes:
<Thread message={message} />
Published by sravan-s over 1 year ago
Features:
./coverage
disabled?: false
for Channel & Thread MessageInputWrapperFixes:
justify-content: start;
and height: fill-available;
Published by sravan-s over 1 year ago
Features:
Make sure you are posting mentions of users from same channel
We dont support pasting of rich text from other applications
For copying simple text, we recommend using paste option in message context-menu
Conditions tested:
Chores:
Library added:
Published by sravan-s over 1 year ago
Fixes: