diff --git a/packages/bot-engine/src/blocks/cards/parseCardsReply.ts b/packages/bot-engine/src/blocks/cards/parseCardsReply.ts index 6dfcf13f8..d9e649c71 100644 --- a/packages/bot-engine/src/blocks/cards/parseCardsReply.ts +++ b/packages/bot-engine/src/blocks/cards/parseCardsReply.ts @@ -92,11 +92,12 @@ export const parseCardsReply = ( newSetVariableHistory = updatedSetVariableHistory; } + const content = matchedItem.title || matchedItem.imageUrl; + if (!content) return { status: "fail" }; + return { status: "success", - content: isNotEmpty(matchedItem.title) - ? matchedItem.title - : (matchedItem.imageUrl ?? ""), + content, outgoingEdgeId: matchedPath?.outgoingEdgeId, newSessionState, newSetVariableHistory, diff --git a/packages/bot-engine/src/blocks/inputs/buttons/parseSingleChoiceReply.ts b/packages/bot-engine/src/blocks/inputs/buttons/parseSingleChoiceReply.ts index 4272a2ff1..1c12e8a3d 100644 --- a/packages/bot-engine/src/blocks/inputs/buttons/parseSingleChoiceReply.ts +++ b/packages/bot-engine/src/blocks/inputs/buttons/parseSingleChoiceReply.ts @@ -27,9 +27,12 @@ export const parseSingleChoiceReply = ( if (!matchedItem) return { status: "fail" }; + const content = matchedItem.value || parseItemContent(matchedItem); + if (!content) return { status: "fail" }; + return { status: "success", - content: matchedItem.value ?? parseItemContent(matchedItem) ?? "", + content: matchedItem.value ?? parseItemContent(matchedItem), outgoingEdgeId: matchedItem.outgoingEdgeId, }; }; diff --git a/packages/bot-engine/src/blocks/inputs/date/parseDateReply.ts b/packages/bot-engine/src/blocks/inputs/date/parseDateReply.ts index 275e26726..24276a7f1 100644 --- a/packages/bot-engine/src/blocks/inputs/date/parseDateReply.ts +++ b/packages/bot-engine/src/blocks/inputs/date/parseDateReply.ts @@ -14,13 +14,13 @@ export const parseDateReply = ( block: DateInputBlock, ): ParsedReply => { const parsedDate = ( - block.options?.format ?? defaultDateInputOptions.format + block.options?.format || defaultDateInputOptions.format ).startsWith("dd") ? chronoParser.GB.parse(reply) : chronoParser.parse(reply); if (parsedDate.length === 0) return { status: "fail" }; const formatString = - block.options?.format ?? + block.options?.format || (block.options?.hasTime ? defaultDateInputOptions.formatWithTime : defaultDateInputOptions.format); diff --git a/packages/bot-engine/src/blocks/inputs/payment/computePaymentInputRuntimeOptions.ts b/packages/bot-engine/src/blocks/inputs/payment/computePaymentInputRuntimeOptions.ts index cc38ff5c0..ecb864c1d 100644 --- a/packages/bot-engine/src/blocks/inputs/payment/computePaymentInputRuntimeOptions.ts +++ b/packages/bot-engine/src/blocks/inputs/payment/computePaymentInputRuntimeOptions.ts @@ -46,7 +46,7 @@ const createStripePaymentIntent = async ( : stripeKeys.live.secretKey, { apiVersion: "2024-09-30.acacia" }, ); - const currency = options?.currency ?? defaultPaymentInputOptions.currency; + const currency = options?.currency || defaultPaymentInputOptions.currency; const amount = Math.round( Number(parseVariables(options.amount, { variables, sessionStore })) * (isZeroDecimalCurrency(currency) ? 1 : 100), diff --git a/packages/bot-engine/src/blocks/inputs/rating/validateRatingReply.ts b/packages/bot-engine/src/blocks/inputs/rating/validateRatingReply.ts index 7775649ae..31834a871 100644 --- a/packages/bot-engine/src/blocks/inputs/rating/validateRatingReply.ts +++ b/packages/bot-engine/src/blocks/inputs/rating/validateRatingReply.ts @@ -2,4 +2,4 @@ import { defaultRatingInputOptions } from "@typebot.io/blocks-inputs/rating/cons import type { RatingInputBlock } from "@typebot.io/blocks-inputs/rating/schema"; export const validateRatingReply = (reply: string, block: RatingInputBlock) => - Number(reply) <= (block.options?.length ?? defaultRatingInputOptions.length); + Number(reply) <= (block.options?.length || defaultRatingInputOptions.length); diff --git a/packages/bot-engine/src/blocks/inputs/time/parseTime.ts b/packages/bot-engine/src/blocks/inputs/time/parseTime.ts index 52424acec..51a6d237b 100644 --- a/packages/bot-engine/src/blocks/inputs/time/parseTime.ts +++ b/packages/bot-engine/src/blocks/inputs/time/parseTime.ts @@ -16,7 +16,7 @@ export const parseTime = ( status: "success", content: format( parsedDate, - options?.format ?? defaultTimeInputOptions.format, + options?.format || defaultTimeInputOptions.format, ), }; }; diff --git a/packages/bot-engine/src/blocks/integrations/chatwoot/executeChatwootBlock.ts b/packages/bot-engine/src/blocks/integrations/chatwoot/executeChatwootBlock.ts index 285ea8f3b..5371c9217 100644 --- a/packages/bot-engine/src/blocks/integrations/chatwoot/executeChatwootBlock.ts +++ b/packages/bot-engine/src/blocks/integrations/chatwoot/executeChatwootBlock.ts @@ -15,7 +15,7 @@ const parseSetUserCode = ( ) => user?.email || user?.id ? ` -window.$chatwoot.setUser(${user?.id ?? user.email ?? `"${resultId}"`}, { +window.$chatwoot.setUser(${user?.id || user.email || `"${resultId}"`}, { email: ${user?.email ? user.email : "undefined"}, name: ${user?.name ? user.name : "undefined"}, avatar_url: ${user?.avatarUrl ? user.avatarUrl : "undefined"}, diff --git a/packages/bot-engine/src/continueBotFlow.ts b/packages/bot-engine/src/continueBotFlow.ts index b7584e842..58d4003cb 100644 --- a/packages/bot-engine/src/continueBotFlow.ts +++ b/packages/bot-engine/src/continueBotFlow.ts @@ -33,7 +33,7 @@ import type { Group } from "@typebot.io/groups/schemas"; import { parseAllowedFileTypesMetadata } from "@typebot.io/lib/extensionFromMimeType"; import { isURL } from "@typebot.io/lib/isURL"; import { parseUnknownError } from "@typebot.io/lib/parseUnknownError"; -import { byId, isDefined } from "@typebot.io/lib/utils"; +import { byId, isDefined, isNotEmpty } from "@typebot.io/lib/utils"; import type { AnswerInSessionState } from "@typebot.io/results/schemas/answers"; import type { SessionStore } from "@typebot.io/runtime-session-store"; import { defaultSystemMessages } from "@typebot.io/settings/constants"; diff --git a/packages/bot-engine/src/helpers/parseItemContent.ts b/packages/bot-engine/src/helpers/parseItemContent.ts index 5925919cf..5b3678fac 100644 --- a/packages/bot-engine/src/helpers/parseItemContent.ts +++ b/packages/bot-engine/src/helpers/parseItemContent.ts @@ -7,5 +7,5 @@ export const parseItemContent = ( // Buttons if ("content" in item) return item.content; // Picture choice - if ("title" in item) return item.title ?? item.pictureSrc; + if ("title" in item) return item.title || item.pictureSrc; };