@memori.ai/memori-react 2.6.4 → 2.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/dist/components/AgeVerificationModal/AgeVerificationModal.css +5 -1
- package/dist/components/MemoriWidget/MemoriWidget.js +29 -9
- package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/esm/components/AgeVerificationModal/AgeVerificationModal.css +5 -1
- package/esm/components/MemoriWidget/MemoriWidget.js +29 -9
- package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/package.json +1 -1
- package/src/components/AgeVerificationModal/AgeVerificationModal.css +5 -1
- package/src/components/MemoriWidget/MemoriWidget.tsx +265 -242
|
@@ -146,6 +146,9 @@ let speechSynthesizer: SpeechSynthesizer | null;
|
|
|
146
146
|
let audioDestination: SpeakerAudioDestination;
|
|
147
147
|
let audioContext: IAudioContext;
|
|
148
148
|
|
|
149
|
+
let memoriPassword: string | undefined;
|
|
150
|
+
let speakerMuted: boolean = false;
|
|
151
|
+
|
|
149
152
|
export interface LayoutProps {
|
|
150
153
|
Header?: typeof Header;
|
|
151
154
|
headerProps?: HeaderProps;
|
|
@@ -323,6 +326,7 @@ const MemoriWidget = ({
|
|
|
323
326
|
}
|
|
324
327
|
|
|
325
328
|
setMuteSpeaker(getLocalConfig('muteSpeaker', false));
|
|
329
|
+
speakerMuted = getLocalConfig('muteSpeaker', false);
|
|
326
330
|
setContinuousSpeech(microphoneMode === 'CONTINUOUS');
|
|
327
331
|
setContinuousSpeechTimeout(getLocalConfig('continuousSpeechTimeout', 2));
|
|
328
332
|
setControlsPosition(
|
|
@@ -646,7 +650,6 @@ const MemoriWidget = ({
|
|
|
646
650
|
setAuthModalState('password');
|
|
647
651
|
return;
|
|
648
652
|
}
|
|
649
|
-
|
|
650
653
|
let storageBirthDate = getLocalConfig<string | undefined>(
|
|
651
654
|
'birthDate',
|
|
652
655
|
undefined
|
|
@@ -712,15 +715,31 @@ const MemoriWidget = ({
|
|
|
712
715
|
) => {
|
|
713
716
|
setLoading(true);
|
|
714
717
|
try {
|
|
718
|
+
if (
|
|
719
|
+
memori.privacyType !== 'PUBLIC' &&
|
|
720
|
+
!password &&
|
|
721
|
+
!memori.secretToken &&
|
|
722
|
+
!memoriPwd &&
|
|
723
|
+
!recoveryTokens &&
|
|
724
|
+
!memoriTokens
|
|
725
|
+
) {
|
|
726
|
+
setAuthModalState('password');
|
|
727
|
+
return;
|
|
728
|
+
}
|
|
729
|
+
|
|
715
730
|
let storageBirthDate = getLocalConfig<string | undefined>(
|
|
716
731
|
'birthDate',
|
|
717
732
|
undefined
|
|
718
733
|
);
|
|
734
|
+
if (!(birthDate || storageBirthDate) && !!minAge) {
|
|
735
|
+
setShowAgeVerification(true);
|
|
736
|
+
return;
|
|
737
|
+
}
|
|
719
738
|
|
|
720
739
|
const { sessionID, currentState, ...response } = await initSession({
|
|
721
740
|
memoriID: memori.engineMemoriID ?? '',
|
|
722
|
-
password,
|
|
723
|
-
recoveryTokens,
|
|
741
|
+
password: password || memoriPwd || memori.secretToken,
|
|
742
|
+
recoveryTokens: recoveryTokens || memoriTokens,
|
|
724
743
|
tag,
|
|
725
744
|
pin,
|
|
726
745
|
initialContextVars,
|
|
@@ -826,7 +845,7 @@ const MemoriWidget = ({
|
|
|
826
845
|
|
|
827
846
|
fetchSession({
|
|
828
847
|
memoriID: memori.engineMemoriID ?? '',
|
|
829
|
-
password: secret || memori.secretToken,
|
|
848
|
+
password: secret || memoriPwd || memori.secretToken,
|
|
830
849
|
tag: memori.giverTag,
|
|
831
850
|
pin: memori.giverPIN,
|
|
832
851
|
initialContextVars,
|
|
@@ -1221,7 +1240,8 @@ const MemoriWidget = ({
|
|
|
1221
1240
|
// stopAudio();
|
|
1222
1241
|
|
|
1223
1242
|
if (preview) return;
|
|
1224
|
-
|
|
1243
|
+
|
|
1244
|
+
if (muteSpeaker || speakerMuted) {
|
|
1225
1245
|
// trigger start continuous listening if set, see MemoriChat
|
|
1226
1246
|
if (continuousSpeech) {
|
|
1227
1247
|
setListeningTimeout();
|
|
@@ -1845,241 +1865,254 @@ const MemoriWidget = ({
|
|
|
1845
1865
|
sendMessage(text, undefined, undefined, false, translatedText);
|
|
1846
1866
|
};
|
|
1847
1867
|
|
|
1848
|
-
const onClickStart =
|
|
1849
|
-
dialogState: DialogState;
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
});
|
|
1867
|
-
}
|
|
1868
|
+
const onClickStart = useCallback(
|
|
1869
|
+
async (session?: { dialogState: DialogState; sessionID: string }) => {
|
|
1870
|
+
const sessionID = session?.sessionID || sessionId;
|
|
1871
|
+
const dialogState = session?.dialogState || currentDialogState;
|
|
1872
|
+
setClickedStart(true);
|
|
1873
|
+
|
|
1874
|
+
let memoriAudioElement = document.getElementById(
|
|
1875
|
+
'memori-audio'
|
|
1876
|
+
) as HTMLAudioElement;
|
|
1877
|
+
let isSafari =
|
|
1878
|
+
window.navigator.userAgent.includes('Safari') &&
|
|
1879
|
+
!window.navigator.userAgent.includes('Chrome');
|
|
1880
|
+
if (memoriAudioElement && isSafari) {
|
|
1881
|
+
memoriAudioElement.muted = false;
|
|
1882
|
+
memoriAudioElement.play().catch((e: any) => {
|
|
1883
|
+
console.error('error playing intro audio', e);
|
|
1884
|
+
});
|
|
1885
|
+
}
|
|
1868
1886
|
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1887
|
+
let storageBirthDate = getLocalConfig<string | undefined>(
|
|
1888
|
+
'birthDate',
|
|
1889
|
+
undefined
|
|
1890
|
+
);
|
|
1891
|
+
let birth = birthDate || storageBirthDate || undefined;
|
|
1874
1892
|
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1893
|
+
if (
|
|
1894
|
+
(!sessionID &&
|
|
1895
|
+
memori.privacyType !== 'PUBLIC' &&
|
|
1896
|
+
!memori.secretToken &&
|
|
1897
|
+
!memoriPwd &&
|
|
1898
|
+
!memoriTokens) ||
|
|
1899
|
+
(!sessionID && gotErrorInOpening)
|
|
1900
|
+
) {
|
|
1901
|
+
setAuthModalState('password');
|
|
1902
|
+
setClickedStart(false);
|
|
1903
|
+
return;
|
|
1904
|
+
} else if (!sessionID && !!minAge && !birth) {
|
|
1905
|
+
setShowAgeVerification(true);
|
|
1906
|
+
setClickedStart(false);
|
|
1907
|
+
} else if (!sessionID) {
|
|
1908
|
+
setClickedStart(false);
|
|
1909
|
+
setGotErrorInOpening(false);
|
|
1910
|
+
const session = await fetchSession({
|
|
1911
|
+
memoriID: memori.engineMemoriID!,
|
|
1912
|
+
password: secret || memoriPwd || memori.secretToken,
|
|
1913
|
+
tag: personification?.tag,
|
|
1914
|
+
pin: personification?.pin,
|
|
1915
|
+
initialContextVars,
|
|
1916
|
+
initialQuestion,
|
|
1917
|
+
birthDate: birth,
|
|
1918
|
+
});
|
|
1901
1919
|
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1920
|
+
if (session?.dialogState) {
|
|
1921
|
+
// reset history
|
|
1922
|
+
setHistory([]);
|
|
1905
1923
|
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1924
|
+
translateDialogState(session.dialogState, userLang)
|
|
1925
|
+
.then(ts => {
|
|
1926
|
+
if (ts.emission) {
|
|
1927
|
+
speak(ts.emission);
|
|
1928
|
+
}
|
|
1929
|
+
})
|
|
1930
|
+
.finally(() => {
|
|
1931
|
+
setHasUserActivatedSpeak(true);
|
|
1932
|
+
});
|
|
1933
|
+
} else {
|
|
1934
|
+
await onClickStart(session || undefined);
|
|
1935
|
+
}
|
|
1918
1936
|
|
|
1919
|
-
return;
|
|
1920
|
-
} else if (initialSessionID) {
|
|
1921
|
-
// check if session is valid and not expired
|
|
1922
|
-
const { currentState, ...response } = await getSession(sessionID);
|
|
1923
|
-
if (response.resultCode !== 0 || !currentState) {
|
|
1924
|
-
console.debug('session expired, opening new session');
|
|
1925
|
-
setGotErrorInOpening(true);
|
|
1926
|
-
setSessionId(undefined);
|
|
1927
|
-
setClickedStart(false);
|
|
1928
|
-
await onClickStart();
|
|
1929
1937
|
return;
|
|
1930
|
-
}
|
|
1938
|
+
} else if (initialSessionID) {
|
|
1939
|
+
// check if session is valid and not expired
|
|
1940
|
+
const { currentState, ...response } = await getSession(sessionID);
|
|
1941
|
+
if (response.resultCode !== 0 || !currentState) {
|
|
1942
|
+
console.debug('session expired, opening new session');
|
|
1943
|
+
setGotErrorInOpening(true);
|
|
1944
|
+
setSessionId(undefined);
|
|
1945
|
+
setClickedStart(false);
|
|
1946
|
+
await onClickStart();
|
|
1947
|
+
return;
|
|
1948
|
+
}
|
|
1931
1949
|
|
|
1932
|
-
|
|
1933
|
-
|
|
1950
|
+
// reset history
|
|
1951
|
+
setHistory([]);
|
|
1934
1952
|
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1953
|
+
// checks engine state for current tag
|
|
1954
|
+
// opening session would have already correct tag
|
|
1955
|
+
// otherwise change tag to anonymous for test, giver for instruct, receiver if set
|
|
1938
1956
|
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1957
|
+
// test if current tag is giver on instruct
|
|
1958
|
+
if (
|
|
1959
|
+
instruct &&
|
|
1960
|
+
memori.giverTag &&
|
|
1961
|
+
currentDialogState?.currentTag !== memori.giverTag
|
|
1962
|
+
) {
|
|
1963
|
+
try {
|
|
1964
|
+
console.debug('change tag #0');
|
|
1965
|
+
// reset tag
|
|
1966
|
+
await changeTag(memori.engineMemoriID!, sessionID, '-');
|
|
1967
|
+
// change tag to giver
|
|
1968
|
+
const session = await changeTag(
|
|
1969
|
+
memori.engineMemoriID!,
|
|
1970
|
+
sessionID,
|
|
1971
|
+
memori.giverTag,
|
|
1972
|
+
memori.giverPIN
|
|
1973
|
+
);
|
|
1956
1974
|
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1975
|
+
if (session && session.resultCode === 0) {
|
|
1976
|
+
translateDialogState(session.currentState, userLang)
|
|
1977
|
+
.then(ts => {
|
|
1978
|
+
if (ts.emission) {
|
|
1979
|
+
speak(ts.emission);
|
|
1980
|
+
}
|
|
1981
|
+
})
|
|
1982
|
+
.finally(() => {
|
|
1983
|
+
setHasUserActivatedSpeak(true);
|
|
1984
|
+
});
|
|
1985
|
+
} else {
|
|
1986
|
+
console.error('session #1', session);
|
|
1987
|
+
throw new Error('No session');
|
|
1988
|
+
}
|
|
1989
|
+
} catch (e) {
|
|
1990
|
+
console.error('session #2', e);
|
|
1991
|
+
reopenSession(
|
|
1992
|
+
true,
|
|
1993
|
+
memori?.secretToken,
|
|
1994
|
+
undefined,
|
|
1995
|
+
memori?.giverTag,
|
|
1996
|
+
memori?.giverPIN,
|
|
1997
|
+
initialContextVars,
|
|
1998
|
+
initialQuestion,
|
|
1999
|
+
birth
|
|
2000
|
+
).then(() => {
|
|
2001
|
+
setHasUserActivatedSpeak(true);
|
|
2002
|
+
});
|
|
1970
2003
|
}
|
|
1971
|
-
}
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
!instruct &&
|
|
1989
|
-
personification &&
|
|
1990
|
-
currentDialogState?.currentTag !== personification.tag
|
|
1991
|
-
) {
|
|
1992
|
-
try {
|
|
1993
|
-
console.debug('change tag #3');
|
|
1994
|
-
// reset tag
|
|
1995
|
-
await changeTag(memori.engineMemoriID!, sessionID, '-');
|
|
1996
|
-
// change tag to receiver
|
|
1997
|
-
const session = await changeTag(
|
|
1998
|
-
memori.engineMemoriID!,
|
|
1999
|
-
sessionID,
|
|
2000
|
-
personification.tag,
|
|
2001
|
-
personification.pin
|
|
2002
|
-
);
|
|
2004
|
+
} else if (
|
|
2005
|
+
// test if current tag is receiver on test as it is requested
|
|
2006
|
+
!instruct &&
|
|
2007
|
+
personification &&
|
|
2008
|
+
currentDialogState?.currentTag !== personification.tag
|
|
2009
|
+
) {
|
|
2010
|
+
try {
|
|
2011
|
+
console.debug('change tag #3');
|
|
2012
|
+
// reset tag
|
|
2013
|
+
await changeTag(memori.engineMemoriID!, sessionID, '-');
|
|
2014
|
+
// change tag to receiver
|
|
2015
|
+
const session = await changeTag(
|
|
2016
|
+
memori.engineMemoriID!,
|
|
2017
|
+
sessionID,
|
|
2018
|
+
personification.tag,
|
|
2019
|
+
personification.pin
|
|
2020
|
+
);
|
|
2003
2021
|
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2022
|
+
if (session && session.resultCode === 0) {
|
|
2023
|
+
translateDialogState(session.currentState, userLang)
|
|
2024
|
+
.then(ts => {
|
|
2025
|
+
if (ts.emission) {
|
|
2026
|
+
speak(ts.emission);
|
|
2027
|
+
}
|
|
2028
|
+
})
|
|
2029
|
+
.finally(() => {
|
|
2030
|
+
setHasUserActivatedSpeak(true);
|
|
2031
|
+
});
|
|
2032
|
+
} else {
|
|
2033
|
+
console.error('session #4', session);
|
|
2034
|
+
throw new Error('No session');
|
|
2035
|
+
}
|
|
2036
|
+
} catch (e) {
|
|
2037
|
+
console.error('session #5', e);
|
|
2038
|
+
reopenSession(
|
|
2039
|
+
true,
|
|
2040
|
+
memori?.secretToken,
|
|
2041
|
+
undefined,
|
|
2042
|
+
personification.tag,
|
|
2043
|
+
personification.pin,
|
|
2044
|
+
initialContextVars,
|
|
2045
|
+
initialQuestion,
|
|
2046
|
+
birth
|
|
2047
|
+
).then(() => {
|
|
2048
|
+
setHasUserActivatedSpeak(true);
|
|
2049
|
+
});
|
|
2017
2050
|
}
|
|
2018
|
-
}
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
// this is the default case with anonymous tag
|
|
2036
|
-
!instruct &&
|
|
2037
|
-
!personification &&
|
|
2038
|
-
currentDialogState?.currentTag !== anonTag
|
|
2039
|
-
) {
|
|
2040
|
-
try {
|
|
2041
|
-
console.debug('change tag #6');
|
|
2042
|
-
// reset tag
|
|
2043
|
-
await changeTag(memori.engineMemoriID!, sessionID, '-');
|
|
2044
|
-
// change tag to anonymous
|
|
2045
|
-
const session = await changeTag(
|
|
2046
|
-
memori.engineMemoriID!,
|
|
2047
|
-
sessionID,
|
|
2048
|
-
anonTag
|
|
2049
|
-
);
|
|
2051
|
+
} else if (
|
|
2052
|
+
// test if current tag is anonymous on test without personification
|
|
2053
|
+
// this is the default case with anonymous tag
|
|
2054
|
+
!instruct &&
|
|
2055
|
+
!personification &&
|
|
2056
|
+
currentDialogState?.currentTag !== anonTag
|
|
2057
|
+
) {
|
|
2058
|
+
try {
|
|
2059
|
+
console.debug('change tag #6');
|
|
2060
|
+
// reset tag
|
|
2061
|
+
await changeTag(memori.engineMemoriID!, sessionID, '-');
|
|
2062
|
+
// change tag to anonymous
|
|
2063
|
+
const session = await changeTag(
|
|
2064
|
+
memori.engineMemoriID!,
|
|
2065
|
+
sessionID,
|
|
2066
|
+
anonTag
|
|
2067
|
+
);
|
|
2050
2068
|
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2069
|
+
if (session && session.resultCode === 0) {
|
|
2070
|
+
translateDialogState(session.currentState, userLang)
|
|
2071
|
+
.then(ts => {
|
|
2072
|
+
if (ts.emission) {
|
|
2073
|
+
speak(ts.emission);
|
|
2074
|
+
}
|
|
2075
|
+
})
|
|
2076
|
+
.finally(() => {
|
|
2077
|
+
setHasUserActivatedSpeak(true);
|
|
2078
|
+
});
|
|
2079
|
+
} else {
|
|
2080
|
+
console.error('session #7', session);
|
|
2081
|
+
throw new Error('No session');
|
|
2082
|
+
}
|
|
2083
|
+
} catch (e) {
|
|
2084
|
+
console.error('session #8', e);
|
|
2085
|
+
reopenSession(
|
|
2086
|
+
true,
|
|
2087
|
+
memori?.secretToken,
|
|
2088
|
+
undefined,
|
|
2089
|
+
undefined,
|
|
2090
|
+
undefined,
|
|
2091
|
+
initialContextVars,
|
|
2092
|
+
initialQuestion,
|
|
2093
|
+
birth
|
|
2094
|
+
).then(() => {
|
|
2095
|
+
setHasUserActivatedSpeak(true);
|
|
2096
|
+
});
|
|
2064
2097
|
}
|
|
2065
|
-
}
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
).then(() => {
|
|
2077
|
-
setHasUserActivatedSpeak(true);
|
|
2078
|
-
});
|
|
2098
|
+
} else {
|
|
2099
|
+
// no need to change tag
|
|
2100
|
+
translateDialogState(currentState, userLang)
|
|
2101
|
+
.then(ts => {
|
|
2102
|
+
if (ts.emission) {
|
|
2103
|
+
speak(ts.emission);
|
|
2104
|
+
}
|
|
2105
|
+
})
|
|
2106
|
+
.finally(() => {
|
|
2107
|
+
setHasUserActivatedSpeak(true);
|
|
2108
|
+
});
|
|
2079
2109
|
}
|
|
2080
2110
|
} else {
|
|
2081
|
-
//
|
|
2082
|
-
|
|
2111
|
+
// reset history
|
|
2112
|
+
setHistory([]);
|
|
2113
|
+
|
|
2114
|
+
// everything is fine, just translate dialog state and activate chat
|
|
2115
|
+
translateDialogState(dialogState!, userLang)
|
|
2083
2116
|
.then(ts => {
|
|
2084
2117
|
if (ts.emission) {
|
|
2085
2118
|
speak(ts.emission);
|
|
@@ -2089,22 +2122,9 @@ const MemoriWidget = ({
|
|
|
2089
2122
|
setHasUserActivatedSpeak(true);
|
|
2090
2123
|
});
|
|
2091
2124
|
}
|
|
2092
|
-
}
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
// everything is fine, just translate dialog state and activate chat
|
|
2097
|
-
translateDialogState(dialogState!, userLang)
|
|
2098
|
-
.then(ts => {
|
|
2099
|
-
if (ts.emission) {
|
|
2100
|
-
speak(ts.emission);
|
|
2101
|
-
}
|
|
2102
|
-
})
|
|
2103
|
-
.finally(() => {
|
|
2104
|
-
setHasUserActivatedSpeak(true);
|
|
2105
|
-
});
|
|
2106
|
-
}
|
|
2107
|
-
};
|
|
2125
|
+
},
|
|
2126
|
+
[memoriPwd, memori, memoriTokens, birthDate, sessionId]
|
|
2127
|
+
);
|
|
2108
2128
|
|
|
2109
2129
|
const [loginToken, setLoginToken] = useState<string | undefined>(authToken);
|
|
2110
2130
|
useEffect(() => {
|
|
@@ -2154,8 +2174,9 @@ const MemoriWidget = ({
|
|
|
2154
2174
|
setShowPositionDrawer,
|
|
2155
2175
|
setShowSettingsDrawer,
|
|
2156
2176
|
showSpeaker: !!AZURE_COGNITIVE_SERVICES_TTS_KEY,
|
|
2157
|
-
speakerMuted: muteSpeaker,
|
|
2177
|
+
speakerMuted: muteSpeaker || speakerMuted,
|
|
2158
2178
|
setSpeakerMuted: mute => {
|
|
2179
|
+
speakerMuted = !!mute;
|
|
2159
2180
|
setMuteSpeaker(mute);
|
|
2160
2181
|
setLocalConfig('muteSpeaker', !!mute);
|
|
2161
2182
|
if (mute) {
|
|
@@ -2362,6 +2383,7 @@ const MemoriWidget = ({
|
|
|
2362
2383
|
showTokens={memori.privacyType === 'SECRET'}
|
|
2363
2384
|
onFinish={async (values: any) => {
|
|
2364
2385
|
if (values['password']) setMemoriPwd(values['password']);
|
|
2386
|
+
if (values['password']) memoriPassword = values['password'];
|
|
2365
2387
|
if (values['tokens']) setMemoriTokens(values['tokens']);
|
|
2366
2388
|
|
|
2367
2389
|
reopenSession(
|
|
@@ -2401,8 +2423,8 @@ const MemoriWidget = ({
|
|
|
2401
2423
|
|
|
2402
2424
|
reopenSession(
|
|
2403
2425
|
!sessionId,
|
|
2404
|
-
memori?.secretToken,
|
|
2405
|
-
|
|
2426
|
+
memoriPassword || memoriPwd || memori?.secretToken,
|
|
2427
|
+
memoriTokens,
|
|
2406
2428
|
instruct ? memori.giverTag : undefined,
|
|
2407
2429
|
instruct ? memori.giverPIN : undefined,
|
|
2408
2430
|
initialContextVars,
|
|
@@ -2411,6 +2433,7 @@ const MemoriWidget = ({
|
|
|
2411
2433
|
)
|
|
2412
2434
|
.then(state => {
|
|
2413
2435
|
setShowAgeVerification(false);
|
|
2436
|
+
setAuthModalState(null);
|
|
2414
2437
|
onClickStart(state || undefined);
|
|
2415
2438
|
})
|
|
2416
2439
|
.catch(() => {
|