From 97d050cc99a5418db5818e8dcf0069485cd85a77 Mon Sep 17 00:00:00 2001 From: Baptiste Arnaud Date: Tue, 1 Jul 2025 11:55:26 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20embed=20bubble=20wait=20fo?= =?UTF-8?q?r=20event=20not=20working=20in=20linked=20bot?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #2237 --- packages/bot-engine/src/walkFlowForward.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/bot-engine/src/walkFlowForward.ts b/packages/bot-engine/src/walkFlowForward.ts index f7c4e3e4a..54541dde8 100644 --- a/packages/bot-engine/src/walkFlowForward.ts +++ b/packages/bot-engine/src/walkFlowForward.ts @@ -119,7 +119,7 @@ export const walkFlowForward = async ( } while ( nextEdge || (!input && - !clientSideActions.some((ca) => ca.expectsDedicatedReply) && + !isDedicatedReplyNeeded({ clientSideActions, messages }) && (newSessionState.typebotsQueue[0].queuedEdgeIds?.length || newSessionState.typebotsQueue.length > 1)) ); @@ -135,6 +135,17 @@ export const walkFlowForward = async ( }; }; +const isDedicatedReplyNeeded = ({ + clientSideActions, + messages, +}: { + clientSideActions: ContinueChatResponse["clientSideActions"]; + messages: ContinueChatResponse["messages"]; +}) => + // Either a client side action expects a dedicated reply or the last message is an embed which means it waits for an event + clientSideActions?.some((ca) => ca.expectsDedicatedReply) || + messages.at(-1)?.type === BubbleBlockType.EMBED; + type ContextProps = { version: 1 | 2; state: SessionState;