@memori.ai/memori-react 8.11.0 → 8.13.0
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 +74 -0
- package/dist/components/AgeVerificationModal/AgeVerificationModal.css +41 -14
- package/dist/components/AgeVerificationModal/AgeVerificationModal.js +2 -2
- package/dist/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
- package/dist/components/Auth/Auth.js +36 -8
- package/dist/components/Auth/Auth.js.map +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +2 -2
- package/dist/components/Chat/Chat.css +37 -3
- package/dist/components/Chat/Chat.js +61 -23
- package/dist/components/Chat/Chat.js.map +1 -1
- package/dist/components/ChatBubble/ChatBubble.css +87 -15
- package/dist/components/ChatBubble/ChatBubble.js +129 -19
- package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
- package/dist/components/ChatHistoryDrawer/ChatHistory.css +5 -1
- package/dist/components/ChatInputs/ChatInputs.css +293 -17
- package/dist/components/ChatInputs/ChatInputs.d.ts +1 -0
- package/dist/components/ChatInputs/ChatInputs.js +48 -27
- package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
- package/dist/components/ChatTextArea/ChatTextArea.css +75 -31
- package/dist/components/ChatTextArea/ChatTextArea.js +47 -18
- package/dist/components/ChatTextArea/ChatTextArea.js.map +1 -1
- package/dist/components/DateSelector/DateSelector.css +125 -104
- package/dist/components/DateSelector/DateSelector.d.ts +1 -1
- package/dist/components/DateSelector/DateSelector.js +110 -52
- package/dist/components/DateSelector/DateSelector.js.map +1 -1
- package/dist/components/FilePreview/FilePreview.css +225 -146
- package/dist/components/FilePreview/FilePreview.d.ts +1 -2
- package/dist/components/FilePreview/FilePreview.js +20 -6
- package/dist/components/FilePreview/FilePreview.js.map +1 -1
- package/dist/components/Header/Header.css +2 -2
- package/dist/components/Header/Header.js +1 -1
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/LoginDrawer/LoginDrawer.css +37 -5
- package/dist/components/LoginDrawer/LoginDrawer.d.ts +1 -2
- package/dist/components/LoginDrawer/LoginDrawer.js +2 -9
- package/dist/components/LoginDrawer/LoginDrawer.js.map +1 -1
- package/dist/components/MediaWidget/MediaItemWidget.js +2 -1
- package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js +3 -0
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +2 -2
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +16 -7
- package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +6 -4
- package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
- package/dist/components/MemoriWidget/MemoriWidget.css +11 -2
- package/dist/components/MemoriWidget/MemoriWidget.js +105 -25
- package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/dist/components/MicrophoneButton/MicrophoneButton.css +2 -2
- package/dist/components/StartPanel/StartPanel.css +8 -0
- package/dist/components/UploadButton/UploadButton.css +20 -17
- package/dist/components/UploadButton/UploadButton.js +218 -87
- package/dist/components/UploadButton/UploadButton.js.map +1 -1
- package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +14 -4
- package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
- package/dist/components/UploadButton/UploadImages/UploadImages.js +143 -16
- package/dist/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
- package/dist/components/layouts/chat.css +1 -1
- package/dist/components/ui/Drawer.css +8 -0
- package/dist/components/ui/Drawer.d.ts +2 -0
- package/dist/components/ui/Drawer.js +2 -2
- package/dist/components/ui/Drawer.js.map +1 -1
- package/dist/components/ui/Tooltip.css +49 -1
- package/dist/components/ui/Tooltip.d.ts +1 -1
- package/dist/helpers/constants.d.ts +1 -0
- package/dist/helpers/constants.js +2 -1
- package/dist/helpers/constants.js.map +1 -1
- package/dist/helpers/imageCompression.d.ts +7 -0
- package/dist/helpers/imageCompression.js +123 -0
- package/dist/helpers/imageCompression.js.map +1 -0
- package/dist/locales/de.json +13 -5
- package/dist/locales/en.json +17 -6
- package/dist/locales/es.json +13 -5
- package/dist/locales/fr.json +12 -5
- package/dist/locales/it.json +16 -6
- package/dist/styles.css +4 -4
- package/esm/components/AgeVerificationModal/AgeVerificationModal.css +41 -14
- package/esm/components/AgeVerificationModal/AgeVerificationModal.js +2 -2
- package/esm/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
- package/esm/components/Auth/Auth.js +36 -8
- package/esm/components/Auth/Auth.js.map +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +2 -2
- package/esm/components/Chat/Chat.css +37 -3
- package/esm/components/Chat/Chat.js +61 -23
- package/esm/components/Chat/Chat.js.map +1 -1
- package/esm/components/ChatBubble/ChatBubble.css +87 -15
- package/esm/components/ChatBubble/ChatBubble.js +130 -20
- package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
- package/esm/components/ChatHistoryDrawer/ChatHistory.css +5 -1
- package/esm/components/ChatInputs/ChatInputs.css +293 -17
- package/esm/components/ChatInputs/ChatInputs.d.ts +1 -0
- package/esm/components/ChatInputs/ChatInputs.js +49 -28
- package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
- package/esm/components/ChatTextArea/ChatTextArea.css +75 -31
- package/esm/components/ChatTextArea/ChatTextArea.js +49 -20
- package/esm/components/ChatTextArea/ChatTextArea.js.map +1 -1
- package/esm/components/DateSelector/DateSelector.css +125 -104
- package/esm/components/DateSelector/DateSelector.d.ts +1 -1
- package/esm/components/DateSelector/DateSelector.js +111 -52
- package/esm/components/DateSelector/DateSelector.js.map +1 -1
- package/esm/components/FilePreview/FilePreview.css +225 -146
- package/esm/components/FilePreview/FilePreview.d.ts +1 -2
- package/esm/components/FilePreview/FilePreview.js +21 -7
- package/esm/components/FilePreview/FilePreview.js.map +1 -1
- package/esm/components/Header/Header.css +2 -2
- package/esm/components/Header/Header.js +1 -1
- package/esm/components/Header/Header.js.map +1 -1
- package/esm/components/LoginDrawer/LoginDrawer.css +37 -5
- package/esm/components/LoginDrawer/LoginDrawer.d.ts +1 -2
- package/esm/components/LoginDrawer/LoginDrawer.js +2 -9
- package/esm/components/LoginDrawer/LoginDrawer.js.map +1 -1
- package/esm/components/MediaWidget/MediaItemWidget.js +2 -1
- package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js +3 -0
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +2 -2
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +16 -7
- package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +6 -4
- package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
- package/esm/components/MemoriWidget/MemoriWidget.css +11 -2
- package/esm/components/MemoriWidget/MemoriWidget.js +105 -25
- package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/esm/components/MicrophoneButton/MicrophoneButton.css +2 -2
- package/esm/components/StartPanel/StartPanel.css +8 -0
- package/esm/components/UploadButton/UploadButton.css +20 -17
- package/esm/components/UploadButton/UploadButton.js +219 -88
- package/esm/components/UploadButton/UploadButton.js.map +1 -1
- package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +14 -4
- package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
- package/esm/components/UploadButton/UploadImages/UploadImages.js +143 -16
- package/esm/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
- package/esm/components/layouts/chat.css +1 -1
- package/esm/components/ui/Drawer.css +8 -0
- package/esm/components/ui/Drawer.d.ts +2 -0
- package/esm/components/ui/Drawer.js +2 -2
- package/esm/components/ui/Drawer.js.map +1 -1
- package/esm/components/ui/Tooltip.css +49 -1
- package/esm/components/ui/Tooltip.d.ts +1 -1
- package/esm/helpers/constants.d.ts +1 -0
- package/esm/helpers/constants.js +1 -0
- package/esm/helpers/constants.js.map +1 -1
- package/esm/helpers/imageCompression.d.ts +7 -0
- package/esm/helpers/imageCompression.js +119 -0
- package/esm/helpers/imageCompression.js.map +1 -0
- package/esm/locales/de.json +13 -5
- package/esm/locales/en.json +17 -6
- package/esm/locales/es.json +13 -5
- package/esm/locales/fr.json +12 -5
- package/esm/locales/it.json +16 -6
- package/esm/styles.css +4 -4
- package/package.json +2 -2
- package/src/components/AgeVerificationModal/AgeVerificationModal.css +41 -14
- package/src/components/AgeVerificationModal/AgeVerificationModal.tsx +3 -1
- package/src/components/Auth/Auth.tsx +55 -11
- package/src/components/Avatar/Avatar.stories.tsx +3 -0
- package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +2 -2
- package/src/components/Chat/Chat.css +37 -3
- package/src/components/Chat/Chat.stories.tsx +16 -2
- package/src/components/Chat/Chat.tsx +90 -21
- package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +1752 -812
- package/src/components/ChatBubble/ChatBubble.css +87 -15
- package/src/components/ChatBubble/ChatBubble.stories.tsx +16 -2
- package/src/components/ChatBubble/ChatBubble.test.tsx +17 -0
- package/src/components/ChatBubble/ChatBubble.tsx +237 -33
- package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +304 -8
- package/src/components/ChatHistoryDrawer/ChatHistory.css +5 -1
- package/src/components/ChatInputs/ChatInputs.css +293 -17
- package/src/components/ChatInputs/ChatInputs.tsx +156 -86
- package/src/components/ChatInputs/__snapshots__/ChatInputs.test.tsx.snap +430 -424
- package/src/components/ChatTextArea/ChatTextArea.css +75 -31
- package/src/components/ChatTextArea/ChatTextArea.test.tsx +1 -16
- package/src/components/ChatTextArea/ChatTextArea.tsx +51 -22
- package/src/components/ChatTextArea/__snapshots__/ChatTextArea.test.tsx.snap +9 -72
- package/src/components/DateSelector/DateSelector.css +125 -104
- package/src/components/DateSelector/DateSelector.stories.tsx +1 -1
- package/src/components/DateSelector/DateSelector.test.tsx +137 -23
- package/src/components/DateSelector/DateSelector.tsx +203 -177
- package/src/components/FilePreview/FilePreview.css +225 -146
- package/src/components/FilePreview/FilePreview.tsx +49 -36
- package/src/components/FilePreview/__snapshots__/FilePreview.test.tsx.snap +2 -2
- package/src/components/Header/Header.css +2 -2
- package/src/components/Header/Header.stories.tsx +5 -1
- package/src/components/Header/Header.tsx +1 -1
- package/src/components/Header/__snapshots__/Header.test.tsx.snap +1 -1
- package/src/components/LoginDrawer/LoginDrawer.css +37 -5
- package/src/components/LoginDrawer/LoginDrawer.stories.tsx +0 -1
- package/src/components/LoginDrawer/LoginDrawer.test.tsx +0 -1
- package/src/components/LoginDrawer/LoginDrawer.tsx +0 -19
- package/src/components/MediaWidget/MediaItemWidget.tsx +2 -1
- package/src/components/MemoriArtifactSystem/ArtifactDrawer.stories.tsx +996 -204
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx +2 -2
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.tsx +1 -1
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.tsx +3 -0
- package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +56 -54
- package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +16 -7
- package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.tsx +12 -3
- package/src/components/MemoriWidget/MemoriWidget.css +11 -2
- package/src/components/MemoriWidget/MemoriWidget.stories.tsx +6 -3
- package/src/components/MemoriWidget/MemoriWidget.tsx +173 -49
- package/src/components/MicrophoneButton/MicrophoneButton.css +2 -2
- package/src/components/StartPanel/StartPanel.css +8 -0
- package/src/components/UploadButton/UploadButton.css +20 -17
- package/src/components/UploadButton/UploadButton.stories.tsx +247 -35
- package/src/components/UploadButton/UploadButton.tsx +280 -173
- package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +19 -4
- package/src/components/UploadButton/UploadImages/UploadImages.tsx +196 -35
- package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +10 -1
- package/src/components/layouts/FullBody/FullBody.stories.tsx +9 -10
- package/src/components/layouts/Totem/Totem.stories.tsx +8 -9
- package/src/components/layouts/ZoomedFullBody/ZoomedFullBody.stories.tsx +8 -9
- package/src/components/layouts/chat.css +1 -1
- package/src/components/layouts/layouts.stories.tsx +10 -9
- package/src/components/ui/Drawer.css +8 -0
- package/src/components/ui/Drawer.tsx +16 -12
- package/src/components/ui/Tooltip.css +49 -1
- package/src/components/ui/Tooltip.tsx +1 -1
- package/src/helpers/constants.ts +1 -1
- package/src/helpers/imageCompression.ts +230 -0
- package/src/index.stories.tsx +18 -0
- package/src/locales/de.json +13 -5
- package/src/locales/en.json +17 -6
- package/src/locales/es.json +13 -5
- package/src/locales/fr.json +12 -5
- package/src/locales/it.json +16 -6
- package/src/mocks/data.ts +4 -2
- package/src/styles.css +4 -4
- package/src/components/SignupForm/SignupForm.test.tsx +0 -40
- package/src/components/SignupForm/SignupForm.tsx +0 -457
- package/src/components/SignupForm/__snapshots__/SignupForm.test.tsx.snap +0 -247
- package/src/components/UploadMenu/UploadMenu.css +0 -47
- package/src/components/UploadMenu/UploadMenu.stories.tsx +0 -66
- package/src/components/UploadMenu/UploadMenu.test.tsx +0 -34
- package/src/components/UploadMenu/UploadMenu.tsx +0 -68
- package/src/components/UploadMenu/__snapshots__/UploadMenu.test.tsx.snap +0 -137
|
@@ -323,14 +323,18 @@ declare global {
|
|
|
323
323
|
typeBatchMessages: typeof typeBatchMessages;
|
|
324
324
|
MemoriArtifactAPI?: {
|
|
325
325
|
openArtifact: (artifact: ArtifactData) => void;
|
|
326
|
-
createAndOpenArtifact: (
|
|
326
|
+
createAndOpenArtifact: (
|
|
327
|
+
content: string,
|
|
328
|
+
mimeType?: string,
|
|
329
|
+
title?: string
|
|
330
|
+
) => void;
|
|
327
331
|
createFromOutputElement: (outputElement: HTMLOutputElement) => string;
|
|
328
332
|
closeArtifact: () => void;
|
|
329
333
|
toggleFullscreen: () => void;
|
|
330
|
-
getState: () => {
|
|
331
|
-
currentArtifact: ArtifactData | null;
|
|
332
|
-
isDrawerOpen: boolean;
|
|
333
|
-
isFullscreen: boolean
|
|
334
|
+
getState: () => {
|
|
335
|
+
currentArtifact: ArtifactData | null;
|
|
336
|
+
isDrawerOpen: boolean;
|
|
337
|
+
isFullscreen: boolean;
|
|
334
338
|
};
|
|
335
339
|
};
|
|
336
340
|
}
|
|
@@ -915,7 +919,7 @@ const MemoriWidget = ({
|
|
|
915
919
|
setHistory(h => [...h.slice(0, h.length - 1)]);
|
|
916
920
|
|
|
917
921
|
reopenSession(
|
|
918
|
-
|
|
922
|
+
true,
|
|
919
923
|
memoriPwd || memori.secretToken,
|
|
920
924
|
memoriTokens,
|
|
921
925
|
undefined,
|
|
@@ -926,7 +930,12 @@ const MemoriWidget = ({
|
|
|
926
930
|
ROUTE: window.location.pathname?.split('/')?.pop() || '',
|
|
927
931
|
...(initialContextVars || {}),
|
|
928
932
|
},
|
|
929
|
-
initialQuestion
|
|
933
|
+
initialQuestion,
|
|
934
|
+
undefined,
|
|
935
|
+
undefined,
|
|
936
|
+
undefined,
|
|
937
|
+
undefined,
|
|
938
|
+
true // isSessionExpired
|
|
930
939
|
).then(state => {
|
|
931
940
|
console.info('session timeout');
|
|
932
941
|
if (state?.sessionID) {
|
|
@@ -935,8 +944,21 @@ const MemoriWidget = ({
|
|
|
935
944
|
}, 500);
|
|
936
945
|
}
|
|
937
946
|
});
|
|
947
|
+
} else if (response.resultCode === 500 && response.resultMessage) {
|
|
948
|
+
setHistory(h => [...h, {
|
|
949
|
+
text: 'Error: ' + response.resultMessage,
|
|
950
|
+
emitter: 'system',
|
|
951
|
+
fromUser: false,
|
|
952
|
+
initial: false,
|
|
953
|
+
contextVars: {},
|
|
954
|
+
date: new Date().toISOString(),
|
|
955
|
+
}]);
|
|
956
|
+
} else {
|
|
957
|
+
console.warn('[SEND_MESSAGE]', response);
|
|
958
|
+
return Promise.reject(response);
|
|
938
959
|
}
|
|
939
960
|
} catch (error) {
|
|
961
|
+
console.log('error', error);
|
|
940
962
|
console.error(error);
|
|
941
963
|
gotError = true;
|
|
942
964
|
|
|
@@ -1283,9 +1305,13 @@ const MemoriWidget = ({
|
|
|
1283
1305
|
tag: params.tag ?? personification?.tag,
|
|
1284
1306
|
pin: params.pin ?? personification?.pin,
|
|
1285
1307
|
additionalInfo: {
|
|
1286
|
-
...(additionalInfo || {}),
|
|
1308
|
+
...(params.additionalInfo || additionalInfo || {}),
|
|
1287
1309
|
loginToken:
|
|
1288
|
-
userToken ??
|
|
1310
|
+
userToken ??
|
|
1311
|
+
loginToken ??
|
|
1312
|
+
params.additionalInfo?.loginToken ??
|
|
1313
|
+
additionalInfo?.loginToken ??
|
|
1314
|
+
authToken,
|
|
1289
1315
|
language: getCultureCodeByLanguage(userLang),
|
|
1290
1316
|
referral: referral,
|
|
1291
1317
|
timeZoneOffset: new Date().getTimezoneOffset().toString(),
|
|
@@ -1379,19 +1405,12 @@ const MemoriWidget = ({
|
|
|
1379
1405
|
pin?: string,
|
|
1380
1406
|
initialContextVars?: { [key: string]: string },
|
|
1381
1407
|
initialQuestion?: string,
|
|
1382
|
-
birthDate?: string
|
|
1408
|
+
birthDate?: string,
|
|
1409
|
+
additionalInfoProp?: { [key: string]: string | undefined },
|
|
1410
|
+
continueFromChatLogID?: string,
|
|
1411
|
+
continueFromSessionID?: string,
|
|
1412
|
+
isSessionExpired?: boolean
|
|
1383
1413
|
) => {
|
|
1384
|
-
// console.log('[REOPEN_SESSION] Starting reopenSession with params:', {
|
|
1385
|
-
// updateDialogState,
|
|
1386
|
-
// hasPassword: !!password,
|
|
1387
|
-
// hasRecoveryTokens: !!recoveryTokens,
|
|
1388
|
-
// tag,
|
|
1389
|
-
// hasPin: !!pin,
|
|
1390
|
-
// initialContextVars,
|
|
1391
|
-
// initialQuestion,
|
|
1392
|
-
// hasBirthDate: !!birthDate
|
|
1393
|
-
// });
|
|
1394
|
-
|
|
1395
1414
|
// Set loading state while reopening session
|
|
1396
1415
|
setLoading(true);
|
|
1397
1416
|
|
|
@@ -1444,6 +1463,8 @@ const MemoriWidget = ({
|
|
|
1444
1463
|
recoveryTokens: recoveryTokens || memoriTokens,
|
|
1445
1464
|
tag: tag ?? personification?.tag,
|
|
1446
1465
|
pin: pin ?? personification?.pin,
|
|
1466
|
+
continueFromChatLogID: continueFromChatLogID,
|
|
1467
|
+
continueFromSessionID: continueFromSessionID,
|
|
1447
1468
|
initialContextVars: {
|
|
1448
1469
|
LANG: userLang,
|
|
1449
1470
|
PATHNAME: window.location.pathname,
|
|
@@ -1453,9 +1474,13 @@ const MemoriWidget = ({
|
|
|
1453
1474
|
initialQuestion,
|
|
1454
1475
|
birthDate: userBirthDate,
|
|
1455
1476
|
additionalInfo: {
|
|
1456
|
-
...(additionalInfo || {}),
|
|
1477
|
+
...(additionalInfoProp || additionalInfo || {}),
|
|
1457
1478
|
loginToken:
|
|
1458
|
-
userToken ??
|
|
1479
|
+
userToken ??
|
|
1480
|
+
loginToken ??
|
|
1481
|
+
additionalInfoProp?.loginToken ??
|
|
1482
|
+
additionalInfo?.loginToken ??
|
|
1483
|
+
authToken,
|
|
1459
1484
|
language: getCultureCodeByLanguage(userLang),
|
|
1460
1485
|
referral: referral,
|
|
1461
1486
|
timeZoneOffset: new Date().getTimezoneOffset().toString(),
|
|
@@ -1464,7 +1489,10 @@ const MemoriWidget = ({
|
|
|
1464
1489
|
|
|
1465
1490
|
// Handle successful session initialization
|
|
1466
1491
|
if (sessionID && currentState && response.resultCode === 0) {
|
|
1467
|
-
|
|
1492
|
+
console.log(
|
|
1493
|
+
'[REOPEN_SESSION] Session initialized successfully:',
|
|
1494
|
+
sessionID
|
|
1495
|
+
);
|
|
1468
1496
|
setSessionId(sessionID);
|
|
1469
1497
|
|
|
1470
1498
|
// Update dialog state and history if requested
|
|
@@ -1473,7 +1501,19 @@ const MemoriWidget = ({
|
|
|
1473
1501
|
setCurrentDialogState(currentState);
|
|
1474
1502
|
|
|
1475
1503
|
if (currentState.emission) {
|
|
1476
|
-
|
|
1504
|
+
console.log(
|
|
1505
|
+
'[REOPEN_SESSION] Processing emission:',
|
|
1506
|
+
currentState.emission
|
|
1507
|
+
);
|
|
1508
|
+
// Determine initial status message based on context
|
|
1509
|
+
// Show status message only if session expired and there's existing history
|
|
1510
|
+
const initialStatus =
|
|
1511
|
+
isSessionExpired && history.length > 1
|
|
1512
|
+
? 'Session Expired, reopening session'
|
|
1513
|
+
: history.length <= 1
|
|
1514
|
+
? true
|
|
1515
|
+
: undefined;
|
|
1516
|
+
|
|
1477
1517
|
// Set initial message or append to existing history
|
|
1478
1518
|
history.length <= 1
|
|
1479
1519
|
? setHistory([
|
|
@@ -1482,7 +1522,9 @@ const MemoriWidget = ({
|
|
|
1482
1522
|
emitter: currentState.emitter,
|
|
1483
1523
|
media: currentState.emittedMedia ?? currentState.media,
|
|
1484
1524
|
fromUser: false,
|
|
1485
|
-
initial: true
|
|
1525
|
+
initial: (initialStatus === true
|
|
1526
|
+
? true
|
|
1527
|
+
: initialStatus || undefined) as any,
|
|
1486
1528
|
contextVars: currentState.contextVars,
|
|
1487
1529
|
date: currentState.currentDate,
|
|
1488
1530
|
placeName: currentState.currentPlaceName,
|
|
@@ -1498,7 +1540,9 @@ const MemoriWidget = ({
|
|
|
1498
1540
|
emitter: currentState.emitter,
|
|
1499
1541
|
media: currentState.emittedMedia ?? currentState.media,
|
|
1500
1542
|
fromUser: false,
|
|
1501
|
-
initial: true
|
|
1543
|
+
initial: (initialStatus === true
|
|
1544
|
+
? true
|
|
1545
|
+
: initialStatus || undefined) as any,
|
|
1502
1546
|
contextVars: currentState.contextVars,
|
|
1503
1547
|
date: currentState.currentDate,
|
|
1504
1548
|
placeName: currentState.currentPlaceName,
|
|
@@ -2551,6 +2595,7 @@ const MemoriWidget = ({
|
|
|
2551
2595
|
// No tag changes needed
|
|
2552
2596
|
else {
|
|
2553
2597
|
try {
|
|
2598
|
+
//This is the session id of the session that was opened before the current session
|
|
2554
2599
|
const { chatLogs } = await getSessionChatLogs(
|
|
2555
2600
|
sessionID!,
|
|
2556
2601
|
sessionID!
|
|
@@ -2627,6 +2672,20 @@ const MemoriWidget = ({
|
|
|
2627
2672
|
text: initialQuestion,
|
|
2628
2673
|
});
|
|
2629
2674
|
|
|
2675
|
+
// Handle 500 error from TextEnteredEvent
|
|
2676
|
+
if (response.resultCode === 500 && response.resultMessage) {
|
|
2677
|
+
setHistory(h => [...h, {
|
|
2678
|
+
text: 'Error: ' + response.resultMessage,
|
|
2679
|
+
emitter: 'system',
|
|
2680
|
+
fromUser: false,
|
|
2681
|
+
initial: false,
|
|
2682
|
+
contextVars: {},
|
|
2683
|
+
date: new Date().toISOString(),
|
|
2684
|
+
}]);
|
|
2685
|
+
setMemoriTyping(false);
|
|
2686
|
+
return;
|
|
2687
|
+
}
|
|
2688
|
+
|
|
2630
2689
|
await translateAndSpeak(
|
|
2631
2690
|
response.currentState ?? currentState,
|
|
2632
2691
|
userLang,
|
|
@@ -3049,16 +3108,21 @@ const MemoriWidget = ({
|
|
|
3049
3108
|
loading={loading}
|
|
3050
3109
|
/>
|
|
3051
3110
|
|
|
3052
|
-
<ArtifactAPIBridge
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
|
|
3061
|
-
|
|
3111
|
+
<ArtifactAPIBridge
|
|
3112
|
+
pushMessage={(message: Message) => {
|
|
3113
|
+
setHistory(history => {
|
|
3114
|
+
if (!history.length) return history;
|
|
3115
|
+
const lastMessage = history[history.length - 1];
|
|
3116
|
+
if (!lastMessage || lastMessage.fromUser) return history;
|
|
3117
|
+
// Create a new message object with the updated text
|
|
3118
|
+
const updatedLastMessage = {
|
|
3119
|
+
...lastMessage,
|
|
3120
|
+
text: lastMessage.text + message.text,
|
|
3121
|
+
};
|
|
3122
|
+
return [...history.slice(0, -1), updatedLastMessage];
|
|
3123
|
+
});
|
|
3124
|
+
}}
|
|
3125
|
+
/>
|
|
3062
3126
|
|
|
3063
3127
|
<audio
|
|
3064
3128
|
id="memori-audio"
|
|
@@ -3073,12 +3137,12 @@ const MemoriWidget = ({
|
|
|
3073
3137
|
openModal={!!authModalState}
|
|
3074
3138
|
setPwdOrTokens={setAuthModalState}
|
|
3075
3139
|
showTokens={memori.privacyType === 'SECRET'}
|
|
3076
|
-
onFinish={
|
|
3140
|
+
onFinish={(values: any) => {
|
|
3077
3141
|
if (values['password']) setMemoriPwd(values['password']);
|
|
3078
3142
|
if (values['password']) memoriPassword = values['password'];
|
|
3079
3143
|
if (values['tokens']) setMemoriTokens(values['tokens']);
|
|
3080
3144
|
|
|
3081
|
-
reopenSession(
|
|
3145
|
+
return reopenSession(
|
|
3082
3146
|
!sessionId,
|
|
3083
3147
|
values['password'],
|
|
3084
3148
|
values['tokens'],
|
|
@@ -3096,6 +3160,10 @@ const MemoriWidget = ({
|
|
|
3096
3160
|
birthDate
|
|
3097
3161
|
)
|
|
3098
3162
|
.then(state => {
|
|
3163
|
+
if (!state?.sessionID) {
|
|
3164
|
+
throw new Error('AUTH_FAILED');
|
|
3165
|
+
}
|
|
3166
|
+
|
|
3099
3167
|
setAuthModalState(null);
|
|
3100
3168
|
// If we got a valid state from reopenSession, don't call onClickStart again
|
|
3101
3169
|
// to avoid duplicate snippet execution
|
|
@@ -3103,12 +3171,17 @@ const MemoriWidget = ({
|
|
|
3103
3171
|
setHasUserActivatedSpeak(true);
|
|
3104
3172
|
} else {
|
|
3105
3173
|
// Only call onClickStart if reopenSession didn't return a valid state
|
|
3106
|
-
onClickStart(state
|
|
3174
|
+
onClickStart(state);
|
|
3107
3175
|
}
|
|
3108
3176
|
})
|
|
3109
|
-
.catch(
|
|
3110
|
-
|
|
3111
|
-
|
|
3177
|
+
.catch(error => {
|
|
3178
|
+
if (
|
|
3179
|
+
!(error instanceof Error) ||
|
|
3180
|
+
error.message !== 'AUTH_FAILED'
|
|
3181
|
+
) {
|
|
3182
|
+
setGotErrorInOpening(true);
|
|
3183
|
+
}
|
|
3184
|
+
throw error;
|
|
3112
3185
|
});
|
|
3113
3186
|
}}
|
|
3114
3187
|
minimumNumberOfRecoveryTokens={
|
|
@@ -3254,16 +3327,67 @@ const MemoriWidget = ({
|
|
|
3254
3327
|
loginToken={loginToken}
|
|
3255
3328
|
onClose={() => setShowLoginDrawer(false)}
|
|
3256
3329
|
onLogin={(user, token) => {
|
|
3257
|
-
|
|
3258
|
-
|
|
3259
|
-
|
|
3260
|
-
|
|
3261
|
-
|
|
3330
|
+
//The user is logged in, so we need to set open a new session with the new token
|
|
3331
|
+
reopenSession(
|
|
3332
|
+
false,
|
|
3333
|
+
memoriPassword || memoriPwd || memori?.secretToken,
|
|
3334
|
+
[],
|
|
3335
|
+
personification?.tag,
|
|
3336
|
+
personification?.pin,
|
|
3337
|
+
{
|
|
3338
|
+
LANG: userLang,
|
|
3339
|
+
PATHNAME: window.location.pathname?.toUpperCase(),
|
|
3340
|
+
ROUTE:
|
|
3341
|
+
window.location.pathname?.split('/')?.pop()?.toUpperCase() ||
|
|
3342
|
+
'',
|
|
3343
|
+
...(initialContextVars || {}),
|
|
3344
|
+
},
|
|
3345
|
+
undefined, // Don't send initialQuestion after login, only show the login status chip
|
|
3346
|
+
birthDate,
|
|
3347
|
+
{ loginToken: token } as any,
|
|
3348
|
+
undefined,
|
|
3349
|
+
sessionId
|
|
3350
|
+
).then(state => {
|
|
3351
|
+
setShowLoginDrawer(false);
|
|
3352
|
+
setUser(user);
|
|
3353
|
+
setLoginToken(token);
|
|
3354
|
+
userToken = token;
|
|
3355
|
+
setLocalConfig('loginToken', token);
|
|
3356
|
+
// Push a message with initial status to show status message when a new session is created after login
|
|
3357
|
+
if (
|
|
3358
|
+
state?.sessionID &&
|
|
3359
|
+
state.sessionID !== sessionId &&
|
|
3360
|
+
state?.dialogState
|
|
3361
|
+
) {
|
|
3362
|
+
// Push a message with initial status message showing successful login
|
|
3363
|
+
// Only show the chip component, not the emission text
|
|
3364
|
+
const username = user?.userName || t('login.user');
|
|
3365
|
+
pushMessage({
|
|
3366
|
+
text: '', // Empty text so only the chip is visible
|
|
3367
|
+
emitter: state.dialogState.emitter,
|
|
3368
|
+
media:
|
|
3369
|
+
state.dialogState.emittedMedia ??
|
|
3370
|
+
state.dialogState.media ??
|
|
3371
|
+
[],
|
|
3372
|
+
fromUser: false,
|
|
3373
|
+
initial: t('login.successfullyLoggedIn', { username }) as any,
|
|
3374
|
+
contextVars: state.dialogState.contextVars,
|
|
3375
|
+
date: state.dialogState.currentDate,
|
|
3376
|
+
placeName: state.dialogState.currentPlaceName,
|
|
3377
|
+
placeLatitude: state.dialogState.currentLatitude,
|
|
3378
|
+
placeLongitude: state.dialogState.currentLongitude,
|
|
3379
|
+
placeUncertaintyKm: state.dialogState.currentUncertaintyKm,
|
|
3380
|
+
tag: state.dialogState.currentTag,
|
|
3381
|
+
memoryTags: state.dialogState.memoryTags,
|
|
3382
|
+
});
|
|
3383
|
+
// Update the dialog state so the UI reflects the new session
|
|
3384
|
+
setCurrentDialogState(state.dialogState);
|
|
3385
|
+
}
|
|
3386
|
+
});
|
|
3262
3387
|
}}
|
|
3263
3388
|
setUser={setUser}
|
|
3264
3389
|
onLogout={() => {
|
|
3265
3390
|
if (!loginToken) return;
|
|
3266
|
-
|
|
3267
3391
|
client.backend.pwlUserLogout(loginToken).then(() => {
|
|
3268
3392
|
setShowLoginDrawer(false);
|
|
3269
3393
|
setUser(undefined);
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
.memori-chat-inputs--mic svg {
|
|
29
|
-
color: var(--memori-primary
|
|
29
|
+
color: var(--memori-primary, #fff);
|
|
30
30
|
font-size: 1em;
|
|
31
31
|
-webkit-user-select: none;
|
|
32
32
|
user-select: none;
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
.memori-chat-inputs--mic:active,
|
|
37
37
|
.memori-chat-inputs--mic:focus {
|
|
38
38
|
border-color: var(--memori-primary) !important;
|
|
39
|
-
color: var(--memori-primary
|
|
39
|
+
color: var(--memori-primary, #fff);
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
.memori-chat-inputs--mic:active,
|
|
@@ -133,7 +133,14 @@
|
|
|
133
133
|
}
|
|
134
134
|
|
|
135
135
|
.memori--start-button {
|
|
136
|
+
position: relative;
|
|
137
|
+
overflow: hidden;
|
|
138
|
+
min-width: 140px;
|
|
139
|
+
min-height: 42px;
|
|
140
|
+
border-radius: 8px;
|
|
136
141
|
margin-right: 1em;
|
|
142
|
+
font-weight: 600;
|
|
143
|
+
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
137
144
|
}
|
|
138
145
|
|
|
139
146
|
.memori--language-chooser {
|
|
@@ -263,3 +270,4 @@
|
|
|
263
270
|
.memori--privacy-tooltip-content-list {
|
|
264
271
|
padding-left: 1rem;
|
|
265
272
|
}
|
|
273
|
+
|
|
@@ -200,17 +200,6 @@
|
|
|
200
200
|
height: 20px;
|
|
201
201
|
}
|
|
202
202
|
|
|
203
|
-
/* Preview Container */
|
|
204
|
-
.memori--preview-container {
|
|
205
|
-
min-width: 200px;
|
|
206
|
-
padding: 12px;
|
|
207
|
-
border-radius: 8px;
|
|
208
|
-
margin-bottom: 12px;
|
|
209
|
-
animation: slide-in 0.3s ease;
|
|
210
|
-
background: #fff;
|
|
211
|
-
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
212
|
-
transition: all 0.3s ease;
|
|
213
|
-
}
|
|
214
203
|
|
|
215
204
|
.memori--absolute-preview {
|
|
216
205
|
position: absolute;
|
|
@@ -352,7 +341,7 @@
|
|
|
352
341
|
padding: 16px;
|
|
353
342
|
border-radius: 8px;
|
|
354
343
|
margin: 0;
|
|
355
|
-
background-color: #f8f9fa;
|
|
344
|
+
/* background-color: #f8f9fa; */
|
|
356
345
|
font-family: monospace;
|
|
357
346
|
line-height: 1.5;
|
|
358
347
|
}
|
|
@@ -362,7 +351,7 @@
|
|
|
362
351
|
border: 1px solid #b2f2bb;
|
|
363
352
|
border-radius: 8px;
|
|
364
353
|
margin-top: 16px;
|
|
365
|
-
background-color: #ebfbee;
|
|
354
|
+
/* background-color: #ebfbee; */
|
|
366
355
|
text-align: left;
|
|
367
356
|
}
|
|
368
357
|
|
|
@@ -381,8 +370,8 @@
|
|
|
381
370
|
.memori--error-message-container,
|
|
382
371
|
.memori--login-tip {
|
|
383
372
|
position: fixed;
|
|
384
|
-
z-index:
|
|
385
|
-
top:
|
|
373
|
+
z-index: 10001;
|
|
374
|
+
top: 80px;
|
|
386
375
|
right: 20px;
|
|
387
376
|
}
|
|
388
377
|
|
|
@@ -431,6 +420,13 @@
|
|
|
431
420
|
font-weight: bold;
|
|
432
421
|
}
|
|
433
422
|
|
|
423
|
+
.memori--upload-image {
|
|
424
|
+
min-width: 140px;
|
|
425
|
+
min-height: 42px;
|
|
426
|
+
border-radius: 8px;
|
|
427
|
+
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
428
|
+
}
|
|
429
|
+
|
|
434
430
|
.memori--image-count-full {
|
|
435
431
|
background-color: #fa5252;
|
|
436
432
|
}
|
|
@@ -439,8 +435,8 @@
|
|
|
439
435
|
.memori--document-count {
|
|
440
436
|
position: absolute;
|
|
441
437
|
z-index: 5;
|
|
442
|
-
top: -
|
|
443
|
-
right: -
|
|
438
|
+
top: -20px;
|
|
439
|
+
right: -10px;
|
|
444
440
|
padding: 1px 6px;
|
|
445
441
|
border-radius: 10px;
|
|
446
442
|
background-color: #51cf66;
|
|
@@ -509,6 +505,13 @@ input.memori--upload-title-input {
|
|
|
509
505
|
transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;
|
|
510
506
|
}
|
|
511
507
|
|
|
508
|
+
.memori--error-message-alert{
|
|
509
|
+
position: relative;
|
|
510
|
+
z-index: 10002;
|
|
511
|
+
top: 0;
|
|
512
|
+
right: 0;
|
|
513
|
+
}
|
|
514
|
+
|
|
512
515
|
/* Animation Keyframes */
|
|
513
516
|
@keyframes slide-in {
|
|
514
517
|
from {
|