🐛 (typebotLink) Fix nested typebot link pop
This commit is contained in:
@ -119,7 +119,7 @@ export const executeGroup =
|
||||
}
|
||||
}
|
||||
|
||||
if (!nextEdgeId && state.typebotsQueue.length === 1)
|
||||
if (!nextEdgeId && newSessionState.typebotsQueue.length === 1)
|
||||
return { messages, newSessionState, clientSideActions, logs }
|
||||
|
||||
const nextGroup = await getNextGroup(newSessionState)(
|
||||
|
@ -23,7 +23,7 @@ export const getNextGroup =
|
||||
isCompleted: true,
|
||||
hasStarted: state.typebotsQueue[0].answers.length > 0,
|
||||
})
|
||||
const newSessionState = {
|
||||
let newSessionState = {
|
||||
...state,
|
||||
typebotsQueue: [
|
||||
{
|
||||
@ -69,6 +69,7 @@ export const getNextGroup =
|
||||
],
|
||||
} satisfies SessionState
|
||||
const nextGroup = await getNextGroup(newSessionState)(nextEdgeId)
|
||||
newSessionState = nextGroup.newSessionState
|
||||
if (!nextGroup)
|
||||
return {
|
||||
newSessionState,
|
||||
|
@ -7,6 +7,7 @@ export const startBotFlow = async (
|
||||
state: SessionState,
|
||||
startGroupId?: string
|
||||
): Promise<ChatReply & { newSessionState: SessionState }> => {
|
||||
let newSessionState = state
|
||||
if (startGroupId) {
|
||||
const group = state.typebotsQueue[0].typebot.groups.find(
|
||||
(group) => group.id === startGroupId
|
||||
@ -16,12 +17,13 @@ export const startBotFlow = async (
|
||||
code: 'BAD_REQUEST',
|
||||
message: "startGroupId doesn't exist",
|
||||
})
|
||||
return executeGroup(state)(group)
|
||||
return executeGroup(newSessionState)(group)
|
||||
}
|
||||
const firstEdgeId =
|
||||
state.typebotsQueue[0].typebot.groups[0].blocks[0].outgoingEdgeId
|
||||
if (!firstEdgeId) return { messages: [], newSessionState: state }
|
||||
const nextGroup = await getNextGroup(state)(firstEdgeId)
|
||||
if (!nextGroup.group) return { messages: [], newSessionState: state }
|
||||
return executeGroup(state)(nextGroup.group)
|
||||
newSessionState.typebotsQueue[0].typebot.groups[0].blocks[0].outgoingEdgeId
|
||||
if (!firstEdgeId) return { messages: [], newSessionState }
|
||||
const nextGroup = await getNextGroup(newSessionState)(firstEdgeId)
|
||||
newSessionState = nextGroup.newSessionState
|
||||
if (!nextGroup.group) return { messages: [], newSessionState }
|
||||
return executeGroup(newSessionState)(nextGroup.group)
|
||||
}
|
||||
|
@ -88,12 +88,13 @@ export const startWhatsAppSession = async ({
|
||||
},
|
||||
})
|
||||
|
||||
const sessionState: SessionState = chatReply.newSessionState
|
||||
let sessionState: SessionState = chatReply.newSessionState
|
||||
|
||||
// If first block is an input block, we can directly continue the bot flow
|
||||
const firstEdgeId =
|
||||
sessionState.typebotsQueue[0].typebot.groups[0].blocks[0].outgoingEdgeId
|
||||
const nextGroup = await getNextGroup(sessionState)(firstEdgeId)
|
||||
sessionState = nextGroup.newSessionState
|
||||
const firstBlock = nextGroup.group?.blocks.at(0)
|
||||
if (firstBlock && isInputBlock(firstBlock)) {
|
||||
const resultId = sessionState.typebotsQueue[0].resultId
|
||||
|
Reference in New Issue
Block a user