Skip to content

Latest commit

 

History

History
601 lines (465 loc) · 24.2 KB

CHANGELOG.md

File metadata and controls

601 lines (465 loc) · 24.2 KB

[1.8.6] (Nov 11, 2024)

Feat:

  • Added localCacheEnabled flag to control the use of local cache in the Chat SDK.

Fix:

  • Use disconnectWebsocket instead of disconnect (applied changes from PR #1219)
  • Prevent changes to the theme if it has already been added by other logic.

[1.8.5] (Oct 29, 2024)

Chore:

  • Added bot profile style for the favicon from onboarding

[1.8.4] (Oct 22, 2024)

Fix:

  • Passed missing locale to DateSeparator component

[1.8.3] (Oct 10, 2024)

Feat:

  • Added stack direction to message list and set as bottom
  • Added pending & failed icon to sent messages

Chore:

  • Added service name to playground
  • Added utm source to banner link

[1.8.2] (Sep 19, 2024)

Fix:

  • Removed CSS styles that could potentially affect the client's website

[1.8.1] (Sep 12, 2024)

Fix:

  • Fixed that prevent zoom when focusing on input in iOS mobile

[1.8.0] (Sep 12, 2024)

Feat:

  • File Message Support: File attachment in messages is now supported. Of course, drag-and-drop and copy-paste actions are also supported.
  • Locale Support: Added a locale option to support multiple languages for welcome messages and suggested replies. If not specified, the browser's default language will be used. (support for multilingual settings will be available in the dashboard).
  • Carousel Adapter for Function Call: Introduced an adapter to convert function call responses into a carousel UI. Example usage is as follows:
    interface MealFunctionCallResponse {
      meals: { strYoutube: string; strMeal: string; strMealThumb: string }[];
    }
    
    function isMealsResponse(response: unknown): response is MealFunctionCallResponse {
      return !!response && typeof response === 'object' && 'meals' in response && Array.isArray(response.meals);
    }
    
    const App = () => {
      return (
        <ChatAiWidget
          tools={{
            functionCall: {
              carouselAdapter({ response }) {
                if (isMealsResponse(response)) {
                  return response.meals.map((it) => ({
                    title: it.strMeal, // Carousel card title
                    featured_image: it.strMealThumb, // Carousel card image
                    url: it.strYoutube, // URL to open when the carousel card is clicked
                  }));
                }
    
                return [];
              },
            },
          }}
        />
      );
    };

[1.7.10] (Aug 29, 2024)

Update:

  • Improved user interface and experience of form message feature

[1.7.9] (Aug 23, 2024)

Feat:

  • Added callbacks.onWidgetSettingFailure in Constant for handling widget setting failure
  • Added error page to widget playground

Fix:

  • Fixed a broken message data content UI in dark theme

[1.7.8] (Aug 16, 2024)

Fix:

  • Fixed a bug where session not being reset on unauthorized error during channel fetch
  • Fixed a bug where browser cached messages are not being cleared on refreshing the channel

Chore:

  • Added enableWidgetExpandButton in Constant. Refer to Available props section in README.md file for details
  • WidgetWindowFullScreen no longer disconnects while network is connected
  • Texts in user message that start with tel:, mailto:, or sms: are now being considered as url

[1.7.7] (Aug 7, 2024)

Fix:

  • Added a root element to the full-screen component for the modal to avoid crashes when clicking feedback.
  • Fixed the carousel index calculation.

Chore:

  • Updated disconnect WS timeout to 1 minute.
  • Updated Sendbird banner link attributes.

[Deprecated] [1.7.6]

[1.7.5] (Aug 1, 2024)

Fix:

  • Fixed a bug where directly managing the widget open state caused a disconnection after 3 minutes and prevented reconnection.

[1.7.4] (July 30, 2024)

Fix:

  • Fixed a UX issue where the feedback modal was displaying unintended behavior
  • Fixed a bug with URL handling in Markdown syntax
  • Fixed a bug where the self-service widget was broken in Angular.js

[1.7.3] (July 09, 2024)

Fix:

  • Fixed a broken backward compatibility of FormMessage introduced in v1.7.2

[1.7.2] (July 04, 2024)

Feat:

  • FormInput of FormMesage now supports two new MessageFormItem.style.layout types: chip and textarea
  • Added window.sbWidget interface to allowing control of the widget state and cache clearing from a non-React environment

Update:

  • MessageFeedbackModal is now being displayed within the widget window
  • autoOpen is now being ignored in mobile view

[1.7.1] (Jun 26, 2024)

Feat:

  • Added a file viewer that allows you to enlarge images by clicking on them.

Fix:

  • Fixed the text color of messages sent by third parties (not the bot) to display correctly.

Chore:

  • Re-applied the autoOpen settings as configured in the dashboard.

[1.7.0] (Jun 24, 2024)

Feat:

  • Migrated endpoint for FormMessage to a new one

[1.6.5] (Jun 18, 2024)

Feat:

  • Added botStudioEditProps.styles.toggleButtonUrl to customize the toggle button image.
  • Exported WidgetButton component.

Fix:

  • Fixed the disabled placeholder for waiting suggested replies.
  • Fixed the issue where JavaScript would run when a link was ctrl + clicked.

[1.6.4] (Jun 13, 2024)

Fix:

  • Fixed an issue where the link text color did not change according to the theme.

[1.6.3] (Jun 11, 2024)

Fix:

  • Fixed the positioning of the scroll-to-bottom button.
  • Fixed the positioning of the "powered by" banner.
  • Added an underline to links in messages.

[1.6.2] (Jun 7, 2024)

Feat:

  • Added video message support for bot messages. The widget now supports video messages sent by the bot.
  • Added support for using new channels in widget_setting when a new channel is created.
  • Added sessionToken prop for managing manual sessions.

Fix:

  • Fixed a bug where the widget would not connect to the bot when the cached channel is not found and now creates a new channel.
  • Fixed a bug where the feedback did not work according to the option set in the dashboard.

Chore:

  • Removed the default value of false for mentions in self-service.

[1.6.1] (Jun 4, 2024)

change:

  • Removed auto focusing of message input when disabled state changes to false

[1.6.0] (May 31, 2024)

Feat:

  • Added messageInputControls to Constant. It allows to control enabled/disabled state of the message input
  • Added dateLocale to Constant. It is applied to string values of message timestamp and date separator
  • Added the enableHideWidgetForDeactivatedUser to Constant. It is used to decide whether the chatbot widget is hidden or not when the user is deactivated
import { ar } from 'date-fns/locale';

<ChatAiWidget
  applicationId={props.applicationId}
  botId={props.botId}
  messageInputControls={{
    blockWhileBotResponding: 30000, // Change force unblock timeout to 30 seconds. Default value is 10 seconds.
  }}
  dateLocale={ar} // Applies Arabic locale.
  enableHideWidgetForDeactivatedUser={true}
/>

Refer to Available props section in README.md file for details.

Fix:

  • Fixed a bug where multiple timestamps of messages are not grouped into one when should be if botStudioEditProps.welcomeMessages is given

[1.5.12] (May 28, 2024)

Feat:

  • Added horizontal suggested replies support.

Fix:

  • Fixed a bug where the configure session functionality was not working correctly.

Chore:

  • Displayed MessageDataContent for the last message only.
  • Updated the custom session guide.

[1.5.11] (May 23 2024)

Feat:

  • Message input is now being disabled upon sending a message until a reply message is received from the bot and finished streaming

Chore:

  • Expand button is now being displayed only when callbacks.onWidgetExpandStateChange is given

Deprecated:

  • autoOpen in BotStyle has been deprecated and is no longer being considered internally due to its use-case removal

[1.5.10] (May 23 2024)

Fix:

  • Fixed a bug where the widget was not working when configureSession was set.

Chore:

  • Removed a @tanstack/react-query dependency

[1.5.9] (May 22 2024)

Feat:

Carousel message

Widget now supports carousel message for commercial shop items. Message with valid extendedMessagePayload?.commerce_shop_items value is displayed as carousel component that is interactable.

Others

  • Added enableResetHistoryOnConnect in Constant for allowing to reset chat history
  • Added onWidgetExpandStateChange to Constant.callbacks that will be called upon expanded state change event

Fix:

  • Fixed a bug where botStudioEditProps.botInfo.profileUrl is not applied to typing indicator bubble
  • Fixed a bug where suggested replies of botStudioEditProps.welcomeMessages are not being removed after a message is sent
  • Fixed a bug where injected welcome messages are not displayed when there is no message in the channel
  • Adjusted margins of message timestamp
  • Fixed a bug where message bubble width is incorrectly displayed depending on the length of text

Permanently removed

  • Following Constant properties are removed because they were not being considered internally:
    • instantConnect
    • botNickName
    • enableMobileView (use deviceType instead)

[1.5.8] (May 17 2024)

Fix:

  • Fixed a bug where styles were broken on some websites

[1.5.7] (May 15 2024)

Feat:

  • Added widgetOpenState and onWidgetOpenStateChange to Constant

Fix:

  • Fixed a bug where a message sent by a member that is not the current user nor the bot user is displayed incorrectly

[1.5.6] (May 10 2024)

Fix:

  • Fixed a bug where the widget wouldn't close in the mobile view when autoOpen was set to true.

[1.5.5] (May 10 2024)

Feat:

  • Added botStudioEditProps in Constant. Supports real time update of various injected states such as botInfo, aiAttributes, welcomeMessages, and styles

Fix:

  • Fixed a bug where sender name is overflowing in a bot message
  • Fixed a bug where message input is not being disabled when last message has a suggested replies
  • Fixed a bug where multi-line message data content is displayed incorrectly

Chore:

  • Increased channel header button sizes in mobile view
  • autoOpen is now applied in the mobile view as well

[1.5.4] (May 8 2024)

Feat:

  • Added a new optional property deviceType to Constant. When given, the app fixates its view type accordingly irregardless of change of screen width

Fix:

  • Fixed a bug where initial scroll position is not at the bottom when last message has suggested replies
  • Fixed a bug where margin between neighboring messages is not always 16px
  • Fixed a bug where users join empty channels when a bot is recreated with the same ID
  • Fixed a bug where modal components being rendered beneath chat component

[1.5.3] (May 3 2024)

Fix:

  • Fixed errors occurring when removing a channel or when the bot leaves.
  • Fixed types path correctly.

[1.5.2] (May 2 2024)

Fix:

  • Fixed an accidental disconnect issue.

[1.5.1] (April 30 2024)

Chore:

  • Reduced chat-ai-widget bundle size 402.12 kB -> 292.90 kB (gzip); 27.36%
    • Removed @sendbird/uikit-react dependency from package.json.
    • Linked the necessary code from sendbird/uikit-react github repository directly into packages/uikit/ dir through a Git submodule.
    • Updated our build process(Github workflow / Circleci config) to initialize and update the Git submodule, ensuring that the latest version of the code is always used.

[Deprecated] [1.5.0]

[1.4.7] (April 30 2024)

Feat:

  • Added serviceName to chatbot configs

Fix:

  • Added missing property url in FunctionCallRequestInfo

[1.4.6] (April 30 2024)

Fix:

  • Added missing callbacks property to Constant

[1.4.5] (April 29 2024)

Feat:

  • Added new properties apiHost, and wsHost in Constant
  • Added FileMessage for displaying a file message content as image
  • Added a new property callbacks in ConstantContextProps

[1.4.4] (April 25 2024)

Feat:

  • Added missing aria-label attributes to enhance accessibility, with corresponding ESLint rule settings to ensure continued compliance.
  • Removed the expand/collapse button from the WidgetWindow.

Fix:

  • Incremented the specifications for messageInputWrapper style to improve UI consistency.

Revert:

  • Reverted the addition of the slim version of Datadog RUM, removing related code. This reverts the changes initially introduced in commit f2bfe362.

[1.4.3] (April 24 2024)

Feat:

  • Integrated Datadog RUM (Real User Monitoring) in a slimmed-down version to optimize performance monitoring without heavily impacting the application's load time.

Fix:

  • Made children prop type optional for component.

[1.4.2] (April 23 2024)

Fix:

  • Fixed a DOMException issue in useDynamicAttachModal hook.

Chore:

  • Replaced a Sendbird AI Chatbot website link in ChatBottom component.

[1.4.1] (April 22 2024)

Feat:

  • Implemented safe parsing of message.data to prevent errors in data handling.
  • Enhanced efficiency by reusing user and channel information stored in localStorage, reducing redundant data requests and improving user experience.
  • Established functionality to connect the ChatAiWidget upon component mounting, improving real-time interaction capabilities. This includes various improvements such as managing connections and handling UI behavior between mobile and desktop platforms.

Fix:

  • Corrected the position of the feedback dialog which used to be incorrectly placed after bumping up UIKit version.

Chore:

  • Updated key structures to include appId and boId, which allows better identification and tracking of business objects.
    • LocalStorage key format: @sendbird/chat-ai-widget/${appId}/${botId}
  • Cleanup of Unused Files and Dependencies: Removed unnecessary files and dependencies like dompurify to streamline the codebase.

[Deprecated] [v1.4.0]

[1.3.9] (April 19 2024)

Feat:

  • Created an upload_to_s3 pipeline to facilitate file transfers to AWS S3.
  • Added automated workflows for publishing, enhancing deployment efficiency.

Fix:

  • Corrected the positioning of the feedback icon in the bot message UI

Chore:

  • Modified the build output path for better management of build artifacts.
  • Removed react-popper-tooltip library from the project dependencies to streamline the bundle size.

[1.3.8] (Mar 28 2024)

Feat:

  • Apply text and icon color variations based on theme settings to the <ErrorContainer /> component, enhancing the visual coherence across different application themes.
  • Introduce a message feedback feature that allows users to provide feedback on messages directly within the application. This feature is aimed at enhancing user engagement and interaction.
    • As part of this update, the previous 👍🏻👎 emoji reactions have been replaced with a new UI
  • Update the bot icon to a modern and more visually appealing design.

[1.3.7] (Mar 26 2024)

Feat:

  • Apply UIKit classNames to user message text & suggested replies
    • styled-components.d.ts has been added to override DefaultTheme

[1.3.6] (Mar 25 2024)

Feat:

  • Dismiss mobile keyboard after sending a message

[1.3.5] (Mar 22 2024)

Chore:

  • Inject className; sendbird-word to the message bubble component to make it customizable

Feat:

[1.3.4] (Mar 19 2024)

Feat:

  • Drop react-code-block library & add new CodeBlock component.
    • This update introduces a new component for displaying code blocks in a more efficient and stylized manner.

Fix:

  • Fix mobile UX issues to enhance UX on mobile devices by addressing various UI and interaction problems.
  • Fix visibility of empty elements handling to ensure that empty elements in the application do not interfere with the user's experience by being incorrectly visible.

[v1.3.3] (Mar 15 2024)

Feat:

  • Put the manual suggested reply component back for enhanced user interaction.

Chore:

[v1.3.2] (Mar 12 2024)

Feat:

  • Added support for simple markdown formats in bot messages
    • Supports bold format (**bold**)
    • Supports link format ([text](url))

Fix:

  • Addressed issues related to rendering bot messages

[v1.3.1] (Mar 8 2024)

Fix:

  • Hide unused button icons
  • Removed inherited margin and background-color from global CSS in the form
  • Fixed a scroll issue in safari browser
  • Added z-index to mobile container

[Internal] [v1.3.0]

[v1.2.5] (Mar 5 2024)

Chore:

  • Internal change

[Deprecated] [v1.2.4]

[Deprecated] [v1.2.3]

[v1.2.2] (Mar 4 2024)

Feat:

  • Reduced initial loading time:
    • by changing delay time from 1000ms to 200ms when autoOpen is set to true.
    • by eliminating unintended duplicated initial API calls.

[v1.2.1] (Feb 27 2024)

Feat:

  • Improved user experience based on customer feedback:
    • Excluded display of 👍👎 emojis during message streaming.
    • Modified URL text messages from bots to be parsed as links.
    • Fixed display of code snippets which had been broken since the self-service #87.
  • Added renderWidgetToggleButton prop to support custom widget toggle button rendering.

Fix:

  • Replaced Channel module with GroupChannel to address issues.
  • Used isLoading and isPending along with isFetching in useChannelStyle query hook to get the loading status.

[v1.2.0] (Feb 26 2024)

Feat:

  • Introduced mobile view support: Users can now enable mobile view compatibility using the enableMobileView prop. To enable, simply set enableMobileView={true}. Default value is true.
  <ChatAiWidget
    {...other props}
    enableMobileView={true / false}
  />
  • Implemented Sendbird ChatAiWidget self-service integration: Detailed instructions for self-service integration can be found at here.
  • Removed startingPage related logic and props:
    • These options, present since the early versions of the widget, have been deprecated due to extensive error pruning and lack of utilization in core functionalities. Related PR Link

[v1.1.3] (Feb 13 2024)

Fix:

  • Changed source display indexing from the last item to the first
  • Added a filtering option for the source list by source_type

[v1.1.2] (Feb 7 2024)

Fix:

  • Fixed text alignment issue with sendbird-message-input-text-field
  • Fixed autoOpen & betaMark prop behavior issue

[v1.1.1] (Feb 2 2024)

Feat:

  • Added missing profile URL image prop
  • Used bot profileUrl & nickname in the channel header
  • Applied text overflow attribute to message input element

Chore:

  • Excluded Pull Request option from Github.io deployment configuration

[v1.1.0] (Nov 9 2023)

Feat:

  • Renamed quick_replies to suggested_replies
  • Renamed extendedMessage to extendedMessagePayload in the message data
  • Added a feedback response with thumbs up and down emojis
    • Introduced a boolean parameter, enableEmojiFeedback, to control emoji display
  • Changed scroll block option to end from nearest in the useScrollOnStreaming hook
  • Merged sender profile when messages are sent in a short span of time
  • Made profile image invisible only when consecutive message senders are the same
  • Added form message UI components: <FormInput /> & <FormMessage />
  • Supported user conversations with 3 or more participants in the chatbot
  • Enabled user(bot) mention

Fixes:

  • Fixed URL parsing in the first message

[v1.0.8] (Aug 31 2023)

Feat:

  • Implemented quick reply UI attachment to the bottom of bot messages.
  • Introduced a new feature for quick reply UI.
  • Introduce ai widget script loading for non-react users.

Improvements:

  • Removed redundant styles to enhance the user interface.
  • Improved the BETA logo UI.

Fixes:

  • Corrected the format of quick replies.
  • Addressed an issue with incorrect quick replies format.
  • Removed an unnecessary isStartingPage condition.

Chores:

  • Moved url-webdemo to the packages directory for improved organization.

[v1.0.7] (Aug 10 2023)

Feat:

  • Added support for mobile devices.
  • Set instantConnect: true as default
    • If instantConnect set is true, the SDK connection will be established right after mounting the or component

Fixes:

  • Fixed issues related to AdminMessage handling and introduced an option for source messages.
  • Fixed an issue where scrolling in the parent element was not prevented.

[v1.0.6] (Aug 7 2023)

Improvements:

  • Some users experienced slow loading of the chat AI widget due to the large bundle size of react-code-blocks.So we implemented lazy loading for the component, resulting in faster and more efficient initialization.

Chores:

  • Pass customExtensionParams to SBProvider for logging purpose.

[v1.0.5] (July 31 2023)

Fixes:

  • Resolved an issue where the suggested reply panel overlapped the last message when streaming reply was enabled. By adding a 50px buffer to the scroll, the suggested reply panel now displays correctly without obstructing the last message.

Feat:

  • Added an interface to enable users to utilize their custom session handler. Introducing new props: configureSession and userId, which can now be passed into the component.

[v1.0.4] (July 27 2023)

Enhancement

  • Improved Channel Refresh Icon Control:
    • Previously, the refresh icon and the expand + close icons were placed separately, causing alignment issues. To address this, the was used to prevent overlapping.
    • Introduced a new prop, customRefreshComponent, which allows users to provide their own custom refresh icon component for better control.

Bug fix:

  • Detailed Waiting Logic for Pending Bot Messages:
    • Implemented a logic to wait until the last message in the group channel is not null, with a timeout of up to 3 seconds. This fix addresses issues where Bot's messages were pending after sending the first message.

[v1.0.3] (July 25 2023)

  1. Added a hashedKey handling feature for using the chat-ai-widget in ai-bot-url-webdemo.
  2. Introduced new props and exported the Chat component with the following features:
    • instantConnect: When set to true, the SDK connection will be established right after mounting the Chat or ChatAiWidget component.
    • customBetaMarkText: Allows customization of the BETA tag text in the Channel header.

[v1.0.2] (July 21 2023)

  1. Fixed Channel Refresh Issue:
    • Even after merging #11, the channel was still being refreshed due to the sdk reconnection.
    • Added a new option, sdkInitParams, to the UIKit sendbird/sendbird-uikit-react#692, allowing the passing of sdk init option params.
    • By passing appStateToggleEnabled: false when sdk.init() is called, the unnecessary channel refresh is now prevented.
  2. Version 1.0.1 Issue Resolution:
    • Fixed an issue where the default applicationId and botId values were incorrectly set when building with an existing .env file.
    • Implemented logic to temporarily change .env to .env_temp before the build and revert it back post-build.
    • Additionally, resolved the problem with the chat message sender's text_align being set to center.

[v1.0.1] (July 18 2023)

  1. Ported some recent changes from the web-demo repository:
  1. The connection will not be established until a user sends the first message to the chat AI widget.
  2. Added userNickname prop to provide a distinctive name along with botName.