Skip to content

Commit fc554ea

Browse files
committed
feat: Add support for simulate stream events
1 parent d707973 commit fc554ea

File tree

6 files changed

+31
-13
lines changed

6 files changed

+31
-13
lines changed

CHANGELOG.md

+8
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
## v0.2.0 (23-04-2025)
2+
3+
**Added:**
4+
- Added support for capturing simulated message stream events, available on React ChatBotify **v2.0.0-beta.33 and above**
5+
6+
**Fixed:**
7+
- Fixed version compatibility to correctly reflect support for React 16.14.0 and above
8+
19
## v0.1.0 (25-02-2025)
210

311
**Added:**

package-lock.json

+8-6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@
4444
"url": "https://github.com/React-ChatBotify-Plugins/html-renderer"
4545
},
4646
"peerDependencies": {
47-
"react": "^18.3.1",
48-
"react-dom": "^18.3.1",
49-
"react-chatbotify": "^2.0.0-beta.31"
47+
"react": ">=16.14.0",
48+
"react-dom": ">=16.14.0",
49+
"react-chatbotify": "^2.0.0-beta.33"
5050
},
5151
"devDependencies": {
5252
"@eslint/js": "^9.20.0",

src/App.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ const App = () => {
2828
return (
2929
<ChatBot
3030
id="chatbot-id"
31-
settings={{audio: {disabled: false}, botBubble: {simStream: false}}}
3231
plugins={plugins}
3332
flow={flow}
3433
></ChatBot>

src/core/useRcbPlugin.tsx

+8-3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
useMessages,
1111
useSettings,
1212
useChatHistory,
13+
RcbStartSimulateStreamMessageEvent,
1314
} from "react-chatbotify";
1415

1516
import HtmlWrapper from "../components/HtmlWrapper";
@@ -55,7 +56,8 @@ const useRcbPlugin = (pluginConfig?: PluginConfig) => {
5556
* @param event message event received
5657
*/
5758
const handleMessageEvent = async (
58-
event: RcbPreInjectMessageEvent | RcbChunkStreamMessageEvent | RcbStartStreamMessageEvent
59+
event: RcbPreInjectMessageEvent | RcbChunkStreamMessageEvent
60+
| RcbStartSimulateStreamMessageEvent | RcbStartStreamMessageEvent
5961
) => {
6062
const sender = event.data.message?.sender.toUpperCase();
6163

@@ -69,8 +71,8 @@ const useRcbPlugin = (pluginConfig?: PluginConfig) => {
6971
return;
7072
}
7173

72-
if (event.type === "rcb-pre-inject-message") {
73-
(event as RcbPreInjectMessageEvent).data.simStreamChunker = parseHtmlMessage;
74+
if (event.type === "rcb-start-simulate-stream-message") {
75+
(event as RcbStartSimulateStreamMessageEvent).data.simulateStreamChunker = parseHtmlMessage;
7476
}
7577

7678
event.data.message.contentWrapper = component;
@@ -100,12 +102,14 @@ const useRcbPlugin = (pluginConfig?: PluginConfig) => {
100102
window.addEventListener("rcb-pre-inject-message", handleMessageEvent);
101103
window.addEventListener("rcb-chunk-stream-message", handleMessageEvent);
102104
window.addEventListener("rcb-start-stream-message", handleMessageEvent);
105+
window.addEventListener("rcb-start-simulate-stream-message", handleMessageEvent);
103106
window.addEventListener("rcb-start-speak-audio", handleAudioEvent);
104107

105108
return () => {
106109
window.removeEventListener("rcb-pre-inject-message", handleMessageEvent);
107110
window.removeEventListener("rcb-chunk-stream-message", handleMessageEvent);
108111
window.removeEventListener("rcb-start-stream-message", handleMessageEvent);
112+
window.removeEventListener("rcb-start-simulate-stream-message", handleMessageEvent);
109113
window.removeEventListener("rcb-start-speak-audio", handleAudioEvent);
110114
};
111115
}, [getBotId, getFlow, shouldRenderHtml]);
@@ -121,6 +125,7 @@ const useRcbPlugin = (pluginConfig?: PluginConfig) => {
121125
event: {
122126
rcbPreInjectMessage: true,
123127
rcbChunkStreamMessage: true,
128+
rcbStartSimulateStreamMessage: true,
124129
rcbStartStreamMessage: true,
125130
rcbStartSpeakAudio: true,
126131
},

types/global.d.ts

+4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ import {
1919
RcbTextAreaChangeValueEvent,
2020
RcbPreLoadChatBotEvent,
2121
RcbPostLoadChatBotEvent,
22+
RcbStartSimulateStreamMessageEvent,
23+
RcbStopSimulateStreamMessageEvent,
2224
} from "react-chatbotify";
2325

2426
declare global {
@@ -40,6 +42,8 @@ declare global {
4042
// messages
4143
"rcb-pre-inject-message": RcbPreInjectMessageEvent;
4244
"rcb-post-inject-message": RcbPostInjectMessageEvent;
45+
"rcb-start-simulate-stream-message": RcbStartSimulateStreamMessageEvent;
46+
"rcb-stop-simulate-stream-message": RcbStopSimulateStreamMessageEvent;
4347
"rcb-start-stream-message": RcbStartStreamMessageEvent;
4448
"rcb-chunk-stream-message": RcbChunkStreamMessageEvent;
4549
"rcb-stop-stream-message": RcbStopStreamMessageEvent;

0 commit comments

Comments
 (0)