diff --git a/apps/builder/src/features/blocks/logic/script/components/ScriptSettings.tsx b/apps/builder/src/features/blocks/logic/script/components/ScriptSettings.tsx
index 2a282feb6..a30504f16 100644
--- a/apps/builder/src/features/blocks/logic/script/components/ScriptSettings.tsx
+++ b/apps/builder/src/features/blocks/logic/script/components/ScriptSettings.tsx
@@ -1,7 +1,6 @@
import { FormLabel, Stack, Text } from '@chakra-ui/react'
import { CodeEditor } from '@/components/CodeEditor'
import React from 'react'
-import { SwitchWithLabel } from '@/components/SwitchWithLabel'
import { Input } from '@/components/inputs'
import { ScriptOptions } from 'models'
@@ -15,9 +14,6 @@ export const ScriptSettings = ({ options, onOptionsChange }: Props) => {
onOptionsChange({ ...options, name })
const handleCodeChange = (content: string) =>
onOptionsChange({ ...options, content })
- const handleShouldExecuteInParentContextChange = (
- shouldExecuteInParentContext: boolean
- ) => onOptionsChange({ ...options, shouldExecuteInParentContext })
return (
@@ -32,12 +28,6 @@ export const ScriptSettings = ({ options, onOptionsChange }: Props) => {
withVariableButton={false}
/>
-
Code:
{
expect(input.type).toBe('choice input')
})
- await test.step('Answer Buttons question with invalid choice', async () => {
- const { messages, input } = await (
- await request.post(`/api/v1/sendMessage`, {
- data: { message: 'Yolo', sessionId: chatSessionId },
- })
- ).json()
- expect(messages[0].content.plainText).toBe(
- 'Invalid message. Please, try again.'
- )
- expect(input.type).toBe('choice input')
- })
-
await test.step('Answer Buttons question with invalid choice', async () => {
const { messages } = await (
await request.post(`/api/v1/sendMessage`, {
diff --git a/packages/js/package.json b/packages/js/package.json
index bfcb319f5..6ab9243f6 100644
--- a/packages/js/package.json
+++ b/packages/js/package.json
@@ -1,6 +1,6 @@
{
"name": "@typebot.io/js",
- "version": "0.0.15",
+ "version": "0.0.16",
"description": "Javascript library to display typebots on your website",
"type": "module",
"main": "dist/index.js",
diff --git a/packages/js/src/components/ConversationContainer/ConversationContainer.tsx b/packages/js/src/components/ConversationContainer/ConversationContainer.tsx
index b7f409077..9b60cccca 100644
--- a/packages/js/src/components/ConversationContainer/ConversationContainer.tsx
+++ b/packages/js/src/components/ConversationContainer/ConversationContainer.tsx
@@ -1,5 +1,5 @@
import type { ChatReply, Theme } from 'models'
-import { createEffect, createSignal, For, Show } from 'solid-js'
+import { createEffect, createSignal, For, onMount, Show } from 'solid-js'
import { sendMessageQuery } from '@/queries/sendMessageQuery'
import { ChatChunk } from './ChatChunk'
import { BotContext, InitialChatReply, OutgoingLog } from '@/types'
@@ -60,6 +60,21 @@ export const ConversationContainer = (props: Props) => {
const [isSending, setIsSending] = createSignal(false)
const [blockedPopupUrl, setBlockedPopupUrl] = createSignal()
+ onMount(() => {
+ ;(async () => {
+ const initialChunk = chatChunks()[0]
+ if (initialChunk.clientSideActions) {
+ const actionsBeforeFirstBubble = initialChunk.clientSideActions.filter(
+ (action) => isNotDefined(action.lastBubbleBlockId)
+ )
+ for (const action of actionsBeforeFirstBubble) {
+ const response = await executeClientSideAction(action)
+ if (response) setBlockedPopupUrl(response.blockedPopupUrl)
+ }
+ }
+ })()
+ })
+
createEffect(() => {
setTheme(
parseDynamicTheme(props.initialChatReply.typebot.theme, dynamicTheme())
@@ -90,10 +105,10 @@ export const ConversationContainer = (props: Props) => {
})
}
if (data.clientSideActions) {
- const actionsToExecute = data.clientSideActions.filter((action) =>
+ const actionsBeforeFirstBubble = data.clientSideActions.filter((action) =>
isNotDefined(action.lastBubbleBlockId)
)
- for (const action of actionsToExecute) {
+ for (const action of actionsBeforeFirstBubble) {
const response = await executeClientSideAction(action)
if (response) setBlockedPopupUrl(response.blockedPopupUrl)
}
diff --git a/packages/react/package.json b/packages/react/package.json
index 25f4f049b..226e1be9e 100644
--- a/packages/react/package.json
+++ b/packages/react/package.json
@@ -1,6 +1,6 @@
{
"name": "@typebot.io/react",
- "version": "0.0.15",
+ "version": "0.0.16",
"description": "React library to display typebots on your website",
"main": "dist/index.js",
"types": "dist/index.d.ts",