diff --git a/packages/embeds/js/package.json b/packages/embeds/js/package.json index 135b61742..baec05fb2 100644 --- a/packages/embeds/js/package.json +++ b/packages/embeds/js/package.json @@ -1,6 +1,6 @@ { "name": "@typebot.io/js", - "version": "0.3.71", + "version": "0.3.72", "description": "Javascript library to display typebots on your website", "license": "FSL-1.1-ALv2", "type": "module", diff --git a/packages/embeds/js/src/components/ConversationContainer/ConversationContainer.tsx b/packages/embeds/js/src/components/ConversationContainer/ConversationContainer.tsx index b104f959d..1eebb89f9 100644 --- a/packages/embeds/js/src/components/ConversationContainer/ConversationContainer.tsx +++ b/packages/embeds/js/src/components/ConversationContainer/ConversationContainer.tsx @@ -227,6 +227,11 @@ export const ConversationContainer = (props: Props) => { }; const sendMessage = async (answer?: InputSubmitContent) => { + if (hasError() && clientSideActions().length > 0) { + setHasError(false); + await processClientSideActions(clientSideActions()); + return; + } setHasError(false); const currentInputBlock = [...chatChunks()].pop()?.input; @@ -421,6 +426,7 @@ export const ConversationContainer = (props: Props) => { }; const processClientSideActions = async (actions: ClientSideAction[]) => { + let hasStreamError = false; for (const action of actions) { if ( "streamOpenAiChatCompletion" in action || @@ -439,6 +445,7 @@ export const ConversationContainer = (props: Props) => { onMessageStream: streamMessage, onStreamError: async (error) => { setHasError(true); + hasStreamError = true; await saveLogs([error]); props.onNewLogs?.([error]); }, @@ -450,6 +457,7 @@ export const ConversationContainer = (props: Props) => { continue; } } + if (hasStreamError) return; setClientSideActions((actions) => actions.slice(1)); if (response && "logs" in response) saveLogs(response.logs); diff --git a/packages/embeds/nextjs/package.json b/packages/embeds/nextjs/package.json index ea879fc9f..5395c25de 100644 --- a/packages/embeds/nextjs/package.json +++ b/packages/embeds/nextjs/package.json @@ -1,6 +1,6 @@ { "name": "@typebot.io/nextjs", - "version": "0.3.71", + "version": "0.3.72", "license": "FSL-1.1-ALv2", "description": "Convenient library to display typebots on your Next.js website", "type": "module", diff --git a/packages/embeds/react/package.json b/packages/embeds/react/package.json index 948a29e9a..0da5a9dc0 100644 --- a/packages/embeds/react/package.json +++ b/packages/embeds/react/package.json @@ -1,6 +1,6 @@ { "name": "@typebot.io/react", - "version": "0.3.71", + "version": "0.3.72", "description": "Convenient library to display typebots on your React app", "license": "FSL-1.1-ALv2", "type": "module",