Added:
- Added 2 new style props for
chatInputAreaFocusedStyle
andchatInputAreaDisabledStyle
Fixed:
- Fixed a few instances where chat history options/checkboxes are not rendered correctly
- Reduced notification sound file size
Fixed:
- Fixed an issue where library css file is not injected for commonjs users
- Fixed an issue where tooltip mode may not be respected
- Fixed an issue where option boxes do not stretch on much larger chatbot window width
- Fixed an issue where overflowing text are not hidden for checkboxes/option boxes
- Fixed an issue where if
header
section is used, thenshowAvatar
is a required property - Fixed usage of oversized images (improves default chatbot load time!)
Added:
- Added a new
animate
option to bothuserBubble
andbotBubble
to easily toggle animations on and off for them
Fixed:
- Fixed an issue where empty chat bubbles from stream messages are being saved to chat history
Miscellaneous:
- As of this version (1.5.0), it is no longer necessary to import
react-chatbotify.css
file in your projects (injected implicitly). Keeping the import statement will not cause any issues currently but this will be a breaking change in version 2.0.0. It is recommended to remove the import statement as soon as possible and the documentation website has also been updated to reflect this change.
Added:
- A new
chatWindow
section has been added into the Configurations category with the following default values:Explanations for what each property does can be found on the documentation website.chatWindow: { showScrollbar: false, autoJumpToBottom: false, showMessagePrompt: true, messagePromptText: "New Messages ↓", messagePromptOffset: 30, }
Fixed:
- Fixed an occasional issue where stream messages do not autoscroll when user is at the bottom of the chat
- Fixed an issue where users can interrupt the
start
block if it is streaming - Fixed a bug where users can pinch-zoom the chat window on mobile devices to cause it to be distorted
- Fixed a rare bug where the chat window could be scrolled out of view
- Fixed a longstanding issue where playing notification sounds on mobile devices causes media controls to appear in notifications tray
Note:
Initially planned for only bug fixes, I eventually added a whole new chatWindow
section simply because I felt there were many small areas that could use enhancements (hiding the scrollbar, showing new message prompts instead of forcing users to the bottom etc). This led to version 1.4.0 which was entirely focused on cleaning up the imperfections from the several changes that have been made in the last few releases.
Fixed:
- Fixed an issue where chat window auto-scrolling does not work for streamed messages
- Fixed an issue where loading chat history caused current scroll position to shift
- Fixed an issue where extremely long words get abruptly cut-off at the tail end of the message bubble
Added:
- Added
simStream
andstreamSpeed
options foruserBubble
to be consistent withbotBubble
Fixed:
- Fixed an issue where users can quickly click on options or checkboxes in rapid succession resulting in multiple inputs
- Fixed an issue where simulating stream messages would ignore the
blockSpam
option
Added:
- Added
simStream
andstreamSpeed
options withinbotBubble
to simulate streaming of messages - Added
params.streamMessage
parameter that allows real-time streaming of messages (great for integration with LLMs)
Modified:
- The
isUser
field withinMessage
component has been replaced withsender
. - Both
params.injectMessage
and newly addedparams.streamMessage
are now async functions (previously,params.injectMessage
was non-async)
Miscellaneous:
- Internally, logic for chat history, notifications and a few other minor areas have been updated to support stream messages
Note:
The documentation website has been updated to reflect all the latest information. A possible "breaking" change would be params.injectMessage
which is now async. Depending on your existing usage, there might not be a need to make any changes. However, if you are using multiple params.injectMessage
in quick succession, this could mean multiple messages are being sent at once without the use of await.
Fixed:
- Fixed chatbot window resizing on mobile devices (previously window is out of view on some devices/browsers)
- Fixed chatbot window orientation (previously chatbot would not re-orientate on phone rotation)
Note:
The above fixes are important for users who wish to properly support the chatbot on mobile devices. While there has been significantly more mobile view tests done for these fixes, it is near-impossible to exhaustively run through all devices/browsers. Should anyone still encounter issues with mobile view, please do not hesitate to reach out.
Added:
- Added support for enforcing & showing character count/limit via the following options:
chatInput.showCharacterCount
: falsechatInput.characterLimit
: -1
- Added support for styling the above character limit display via the following styles:
characterLimitStyle
characterLimitReachedStyle
Note:
The above additions have been updated on the documentation website for reference.
Fixed:
- Fixed async file uploads
Miscellaneous:
- Disabled speech recognition on unsupported browsers (e.g. Opera)
Fixed:
- Fixed missing support for user defined async functions (important fix if you wish to make use of API calls and wait for completion)
Fixed:
- Fixed module export (imports by consumers should work properly for both cjs and mjs)
Added:
- Added
desktopEnabled
andmobileEnabled
options under thetheme
section to allow developers to control chatbot visibility based on platform
Fixed:
- Fixed a bug with distorted layout for embedded chat windows on mobile
Fixed:
- Fixed missing export in package.json
Miscellaneous:
- Cleanup dist folder (halved the build size)
- Cleanup unused exports
- Cleanup documentation and configurations
Added:
- Initial Release