From c6ad751448a4e8e853a48731144e3550c1203bd7 Mon Sep 17 00:00:00 2001 From: nzambello Date: Mon, 31 Jul 2023 11:38:51 +0200 Subject: [PATCH] fix: do not send timeout event if waiting for memori response --- src/components/MemoriWidget/MemoriWidget.tsx | 24 ++++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/components/MemoriWidget/MemoriWidget.tsx b/src/components/MemoriWidget/MemoriWidget.tsx index fd127705..4bfc75d7 100644 --- a/src/components/MemoriWidget/MemoriWidget.tsx +++ b/src/components/MemoriWidget/MemoriWidget.tsx @@ -877,6 +877,15 @@ const MemoriWidget = ({ undefined ); + let referral; + try { + referral = (() => { + return window.location.href; + })(); + } catch (err) { + console.error(err); + } + fetchSession({ memoriID: memori.engineMemoriID ?? '', password: secret || memoriPwd || memori.secretToken, @@ -885,6 +894,11 @@ const MemoriWidget = ({ initialContextVars, initialQuestion, birthDate: birthDate || storageBirthDate || undefined, + additionalInfo: { + ...(additionalInfo || {}), + language: getCultureCodeByLanguage(userLang), + referral: referral, + }, }); } else if (!!currentState) { return { @@ -947,6 +961,7 @@ const MemoriWidget = ({ !speechSynthesizer && !isPlayingAudio && !userMessage.length && + !memoriTyping && !listening ) setInteractionTimeout(); @@ -956,6 +971,7 @@ const MemoriWidget = ({ !!speechSynthesizer || isPlayingAudio || !!userMessage.length || + memoriTyping || listening ) { resetInteractionTimeout(); @@ -1016,16 +1032,13 @@ const MemoriWidget = ({ } } - if (memori.enableCompletions) { - timeout = timeout + 60; - } - let uiTimeout = setTimeout(handleTimeout, timeout * 1000); setUserInteractionTimeout(uiTimeout); timeoutRef.current = uiTimeout; }; useEffect(() => { - if (!!userMessage.length || isPlayingAudio) clearInteractionTimeout(); + if (!!userMessage.length || isPlayingAudio || memoriTyping) + clearInteractionTimeout(); if (sessionId && !!!userMessage.length) resetInteractionTimeout(); // eslint-disable-next-line react-hooks/exhaustive-deps }, [ @@ -1036,6 +1049,7 @@ const MemoriWidget = ({ sessionId, history, userMessage, + memoriTyping, ]); useEffect(() => { return () => {