Skip to content

Releases: sendbird/sendbird-uikit-react

[v3.2.0] (Sep 27 2022)

27 Sep 04:53
1bcbef9

Choose a tag to compare

Features:

  • OpenChannelList component
    • Create new smart components (modules)
      • CreateOpenChannel
      • OpenChannelList
    • Add a renderHeader props into the ui/Modal component
    • Add stringSet for OpenChannelLisit and CreateOpenChannel components
      • OPEN_CHANNEL_LIST__TITLE: 'Channels',
      • CREATE_OPEN_CHANNEL_LIST__TITLE: 'New channel profile',
      • CREATE_OPEN_CHANNEL_LIST__SUBTITLE__IMG_SECTION: 'Channel image',
      • CREATE_OPEN_CHANNEL_LIST__SUBTITLE__IMG_UPLOAD: 'Upload',
      • CREATE_OPEN_CHANNEL_LIST__SUBTITLE__TEXT_SECTION: 'Channel name',
      • CREATE_OPEN_CHANNEL_LIST__SUBTITLE__TEXT_PLACE_HOLDER: 'Enter channel name',
      • CREATE_OPEN_CHANNEL_LIST__SUBMIT: 'Create',
  • Add prop?.value to MessageWrappers
    • @sendbird/uikit-react/Channel/components/MessageInput
    • @sendbird/uikit-react/OpenChannel/components/OpenChannelInput
    • @sendbird/uikit-react/ui/MessageInput
    • Value is reset when channelURL changes

Fixes:

  • Fix issue where ConnectionHandler overwrite SessionHandler
  • Use queries from @sendbird/chat
    • Use imported versions of GroupChannelListQueryParams and ApplicationUserListQueryParams
  • Fix openChannel casing in type defn
  • Add some missing localization variables
  • Deprecate ChatHeader and ChannelPreview in @sendbird/uikit-react/ui
  • Replace the ButtonTypes and ButtonSizes into the Button/index
  • Apply scroll to input and dark theme color to UserProfile
  • Disable the create channel button when no user invite
  • Use ref from MessageInputWrapper props if present
  • Some CSS level polishing fixes~

Dev. Env:

  • Remove enzyme and react-test-renderer
  • Upgrade the react version to v18
  • Upgrade the storybook version to v6.5.10
  • Upgrade the jest and babel-jest to v29
  • Upgrade the jsdom to v20
  • Install jest-environment-jsdom
  • Install global-jsdom
  • Install testing-library (@testing-library/react and @testing-library/jest-dom)
  • Migrate every tests with testing-library instead of the enzyme and `react-test-renderer
  • Replace node-sass with sass(Dart Sass)
  • Reduce bundle size by treating react-dom/server as external

[v3.1.3] (Sep 19 2022)

19 Sep 07:10

Choose a tag to compare

Features:

  • Export SessionHandler through @sendbird/uikit-react/handlers/SessionHandler
    • This is a workaround to fix an issue where inhertiance chains break custom handler implementation
    • import SessionHandler from '@sendbird/uikit-react/handlers/SessionHandler'
  • Rem units can be used for typography
    • Pass prop config.isREMUnitEnabled -> true on SendbirdProvider
      to use "rem" units
    • We are adding rem as unit for typography/font size

Fixes:

  • Fix the position of ContextMenu
  • Do not exit the current open channel when the channel state is changed
  • Display menu only for operators on the member list
  • Hide muted icon when pop-up component is appeared
  • Set message context's border roundly by the state using the reaction feature
    • Add props isReactionEnabled to the <TextMessageItemBody />
    • Add props isReactionEnabled to the <OGMessageItemBody />
    • Add props isReactionEnabled to the <FileMessageItemBody />
    • Add props isReactionEnabled to the <ThumbnailMessageItemBody />
    • Add props isReactionEnabled to the <UnknownMessageItemBody />
  • Add the message as a parameter of renderCustomSeparator
    • before: renderCustomSeparator={() => ReactElement}
    • after: renderCustomSeparator={(props: { message }) => ReactElement}
  • Fix typo on the type
    • renderCustomSep'e'rator to renderCustomSep'a'rator

[v3.1.2] (Aug 31 / Sept 1 2022)

01 Sep 07:00
050be89

Choose a tag to compare

Migrate UI components into TypeScript
This doesnt affect anyone, it a step in task to migrate the project source code into TS

Fixes:

  • Type defn: Change type of react elements to React.ReactElement

    • Change every React.ReactNode and React.Component to React.ReactElement
    • Use the type of SendbirdError
    • Use the type MessageSearchQueryParams
    • Use enum MessageSearchOrder.TIMESTAMP in the message search query params instead of 'ts' as const

    ReactNode could be string | number | null | undefined | ReactElement | portal and this(expecting string or number) causes warning when we use it like <CustomComp />

    // in the component
    { renderMessage } = props
    const CustomMessage = useMemo(() => {
      return renderMessage({ ... });
    }, []);
    return (
      <div>
        <CustomMessage />
      </div>
    );

    so expecting ReactElement is better for our case

  • Fix message grouping:
    Set isMessageGroupingEnabed to true(was set to false during v2 migration)

https://sendbird.atlassian.net/browse/SDKRLSD-466

[v3.1.1] (Aug 17 2022)

17 Aug 07:42

Choose a tag to compare

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

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

[v3.1.0] (Aug 03 2022)

03 Aug 07:55
6f680cd

Choose a tag to compare

Features:

  • Support moderation in OpenChannel
    • Provide moderations: mute, unmute, ban, and unban on the OpenChannelSettings
    • Provide moderations: register and unregister operator on the OpenChannelSettings
    • Add MutedParticipantList and MutedParticipantsModal into the OpenChannelSettings
    • Add BannedUserList and BannedUsersModal into the OpenChannelSettings
    • Add OperatorList and OperatorsModal into the OpenChannelSettings
    • Add AddOperatorsModal into the OpenChannelSettings

Full Changelog: v3.0.2...v3.1.0

[v3.0.2] (Aug 03 2022)

03 Aug 02:34

Choose a tag to compare

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

[v3.0.2-beta.0] (July 31 2022)

31 Jul 00:37
46bc211

Choose a tag to compare

Pre-release

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
  • 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

[v3.0.1] (July 28 2022)

28 Jul 05:56
ab7918f

Choose a tag to compare

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

[2.7.2] (July 27 2022)

27 Jul 08:18
b4d5056

Choose a tag to compare

  • Bugfix
    • Fix: Improve URL detection in messages

[v3.0.0] (July 12 2022)

12 Jul 04:45
24c01d7

Choose a tag to compare

Features:

  • Support modules and components 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]