@memori.ai/memori-react 8.41.3 → 8.41.5
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 +17 -0
- package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js +6 -3
- package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
- package/dist/components/FilePreview/FilePreview.js +1 -3
- package/dist/components/FilePreview/FilePreview.js.map +1 -1
- package/dist/components/MediaWidget/MediaItemWidget.js +1 -3
- package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
- package/dist/components/MediaWidget/MediaPreviewModal.js +2 -6
- package/dist/components/MediaWidget/MediaPreviewModal.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/utils/applyEdits.d.ts +8 -0
- package/dist/components/MemoriArtifactSystem/utils/applyEdits.js +117 -0
- package/dist/components/MemoriArtifactSystem/utils/applyEdits.js.map +1 -0
- package/dist/components/MemoriWidget/MemoriWidget.js +121 -84
- package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/dist/helpers/constants.d.ts +1 -1
- package/dist/helpers/constants.js +0 -1
- package/dist/helpers/constants.js.map +1 -1
- package/dist/helpers/message.d.ts +1 -1
- package/dist/helpers/message.js +4 -4
- package/dist/helpers/message.js.map +1 -1
- package/dist/helpers/nats/natsBundled.js +13224 -0
- package/dist/helpers/utils.d.ts +1 -1
- package/dist/helpers/utils.js +9 -3
- package/dist/helpers/utils.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js +6 -3
- package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
- package/esm/components/FilePreview/FilePreview.js +1 -3
- package/esm/components/FilePreview/FilePreview.js.map +1 -1
- package/esm/components/MediaWidget/MediaItemWidget.js +2 -4
- package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
- package/esm/components/MediaWidget/MediaPreviewModal.js +2 -6
- package/esm/components/MediaWidget/MediaPreviewModal.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/utils/applyEdits.d.ts +8 -0
- package/esm/components/MemoriArtifactSystem/utils/applyEdits.js +112 -0
- package/esm/components/MemoriArtifactSystem/utils/applyEdits.js.map +1 -0
- package/esm/components/MemoriWidget/MemoriWidget.js +121 -84
- package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/esm/helpers/constants.d.ts +1 -1
- package/esm/helpers/constants.js +0 -1
- package/esm/helpers/constants.js.map +1 -1
- package/esm/helpers/message.d.ts +1 -1
- package/esm/helpers/message.js +2 -2
- package/esm/helpers/message.js.map +1 -1
- package/esm/helpers/nats/natsBundled.js +13225 -0
- package/esm/helpers/utils.d.ts +1 -1
- package/esm/helpers/utils.js +9 -3
- package/esm/helpers/utils.js.map +1 -1
- package/esm/version.d.ts +1 -1
- package/esm/version.js +1 -1
- package/package.json +1 -1
- package/src/components/CompletionProviderStatus/CompletionProviderStatus.tsx +8 -4
- package/src/components/FilePreview/FilePreview.tsx +1 -3
- package/src/components/MediaWidget/MediaItemWidget.tsx +2 -3
- package/src/components/MediaWidget/MediaPreviewModal.tsx +2 -6
- package/src/components/MemoriWidget/MemoriWidget.tsx +110 -68
- package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +2 -2
- package/src/helpers/constants.ts +0 -1
- package/src/helpers/message.test.ts +28 -1
- package/src/helpers/message.ts +4 -4
- package/src/helpers/utils.test.ts +50 -1
- package/src/helpers/utils.ts +16 -3
- package/src/version.ts +1 -1
- package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.css +0 -367
- package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +0 -36
- package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js +0 -116
- package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +0 -1
- package/dist/components/DrawerFooter/DrawerFooter.css +0 -62
- package/dist/components/DrawerFooter/DrawerFooter.d.ts +0 -12
- package/dist/components/DrawerFooter/DrawerFooter.js +0 -10
- package/dist/components/DrawerFooter/DrawerFooter.js.map +0 -1
- package/dist/components/MobileSessionPanel/MobileSessionPanel.css +0 -437
- package/dist/components/MobileSessionPanel/MobileSessionPanel.d.ts +0 -62
- package/dist/components/MobileSessionPanel/MobileSessionPanel.js +0 -292
- package/dist/components/MobileSessionPanel/MobileSessionPanel.js.map +0 -1
- package/dist/components/PositionPopover/PositionPopover.css +0 -219
- package/dist/components/PositionPopover/PositionPopover.d.ts +0 -20
- package/dist/components/PositionPopover/PositionPopover.js +0 -187
- package/dist/components/PositionPopover/PositionPopover.js.map +0 -1
- package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.d.ts +0 -4
- package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +0 -41
- package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +0 -1
- package/dist/components/layouts/WebsiteAssistant/website-assistant.css +0 -690
- package/dist/components/layouts/fullpage.css +0 -396
- package/dist/helpers/usePressTooltip.d.ts +0 -13
- package/dist/helpers/usePressTooltip.js +0 -23
- package/dist/helpers/usePressTooltip.js.map +0 -1
- package/dist/icons/FacebookIcon.d.ts +0 -3
- package/dist/icons/FacebookIcon.js +0 -6
- package/dist/icons/FacebookIcon.js.map +0 -1
- package/dist/icons/LinkedinIcon.d.ts +0 -3
- package/dist/icons/LinkedinIcon.js +0 -6
- package/dist/icons/LinkedinIcon.js.map +0 -1
- package/dist/icons/MemoriIcon.d.ts +0 -3
- package/dist/icons/MemoriIcon.js +0 -8
- package/dist/icons/MemoriIcon.js.map +0 -1
- package/dist/icons/TelegramIcon.d.ts +0 -3
- package/dist/icons/TelegramIcon.js +0 -6
- package/dist/icons/TelegramIcon.js.map +0 -1
- package/dist/icons/TwitterIcon.d.ts +0 -3
- package/dist/icons/TwitterIcon.js +0 -6
- package/dist/icons/TwitterIcon.js.map +0 -1
- package/dist/icons/WhatsappIcon.d.ts +0 -3
- package/dist/icons/WhatsappIcon.js +0 -6
- package/dist/icons/WhatsappIcon.js.map +0 -1
- package/dist/icons/artifacts/DocumentIcon.d.ts +0 -3
- package/dist/icons/artifacts/DocumentIcon.js +0 -6
- package/dist/icons/artifacts/DocumentIcon.js.map +0 -1
- package/dist/icons/artifacts/HtmlIcon.d.ts +0 -3
- package/dist/icons/artifacts/HtmlIcon.js +0 -6
- package/dist/icons/artifacts/HtmlIcon.js.map +0 -1
- package/dist/icons/artifacts/JavascriptIcon.d.ts +0 -3
- package/dist/icons/artifacts/JavascriptIcon.js +0 -6
- package/dist/icons/artifacts/JavascriptIcon.js.map +0 -1
- package/dist/icons/artifacts/MarkdownIcon.d.ts +0 -3
- package/dist/icons/artifacts/MarkdownIcon.js +0 -6
- package/dist/icons/artifacts/MarkdownIcon.js.map +0 -1
- package/dist/icons/artifacts/PythonIcon.d.ts +0 -3
- package/dist/icons/artifacts/PythonIcon.js +0 -6
- package/dist/icons/artifacts/PythonIcon.js.map +0 -1
- package/dist/icons/artifacts/SvgIcon.d.ts +0 -3
- package/dist/icons/artifacts/SvgIcon.js +0 -6
- package/dist/icons/artifacts/SvgIcon.js.map +0 -1
- package/dist/icons/artifacts/XmlIcon.d.ts +0 -3
- package/dist/icons/artifacts/XmlIcon.js +0 -6
- package/dist/icons/artifacts/XmlIcon.js.map +0 -1
- package/dist/icons/artifacts/cssIcon.d.ts +0 -3
- package/dist/icons/artifacts/cssIcon.js +0 -6
- package/dist/icons/artifacts/cssIcon.js.map +0 -1
- package/dist/testUtils.d.ts +0 -5
- package/dist/testUtils.js +0 -18
- package/dist/testUtils.js.map +0 -1
- package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.css +0 -367
- package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +0 -36
- package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js +0 -113
- package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +0 -1
- package/esm/components/DrawerFooter/DrawerFooter.css +0 -62
- package/esm/components/DrawerFooter/DrawerFooter.d.ts +0 -12
- package/esm/components/DrawerFooter/DrawerFooter.js +0 -8
- package/esm/components/DrawerFooter/DrawerFooter.js.map +0 -1
- package/esm/components/MobileSessionPanel/MobileSessionPanel.css +0 -437
- package/esm/components/MobileSessionPanel/MobileSessionPanel.d.ts +0 -62
- package/esm/components/MobileSessionPanel/MobileSessionPanel.js +0 -289
- package/esm/components/MobileSessionPanel/MobileSessionPanel.js.map +0 -1
- package/esm/components/PositionPopover/PositionPopover.css +0 -219
- package/esm/components/PositionPopover/PositionPopover.d.ts +0 -20
- package/esm/components/PositionPopover/PositionPopover.js +0 -182
- package/esm/components/PositionPopover/PositionPopover.js.map +0 -1
- package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.d.ts +0 -4
- package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +0 -38
- package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +0 -1
- package/esm/components/layouts/WebsiteAssistant/website-assistant.css +0 -690
- package/esm/components/layouts/fullpage.css +0 -396
- package/esm/helpers/usePressTooltip.d.ts +0 -13
- package/esm/helpers/usePressTooltip.js +0 -20
- package/esm/helpers/usePressTooltip.js.map +0 -1
- package/esm/icons/FacebookIcon.d.ts +0 -3
- package/esm/icons/FacebookIcon.js +0 -4
- package/esm/icons/FacebookIcon.js.map +0 -1
- package/esm/icons/LinkedinIcon.d.ts +0 -3
- package/esm/icons/LinkedinIcon.js +0 -4
- package/esm/icons/LinkedinIcon.js.map +0 -1
- package/esm/icons/MemoriIcon.d.ts +0 -3
- package/esm/icons/MemoriIcon.js +0 -6
- package/esm/icons/MemoriIcon.js.map +0 -1
- package/esm/icons/TelegramIcon.d.ts +0 -3
- package/esm/icons/TelegramIcon.js +0 -4
- package/esm/icons/TelegramIcon.js.map +0 -1
- package/esm/icons/TwitterIcon.d.ts +0 -3
- package/esm/icons/TwitterIcon.js +0 -4
- package/esm/icons/TwitterIcon.js.map +0 -1
- package/esm/icons/WhatsappIcon.d.ts +0 -3
- package/esm/icons/WhatsappIcon.js +0 -4
- package/esm/icons/WhatsappIcon.js.map +0 -1
- package/esm/icons/artifacts/DocumentIcon.d.ts +0 -3
- package/esm/icons/artifacts/DocumentIcon.js +0 -4
- package/esm/icons/artifacts/DocumentIcon.js.map +0 -1
- package/esm/icons/artifacts/HtmlIcon.d.ts +0 -3
- package/esm/icons/artifacts/HtmlIcon.js +0 -4
- package/esm/icons/artifacts/HtmlIcon.js.map +0 -1
- package/esm/icons/artifacts/JavascriptIcon.d.ts +0 -3
- package/esm/icons/artifacts/JavascriptIcon.js +0 -4
- package/esm/icons/artifacts/JavascriptIcon.js.map +0 -1
- package/esm/icons/artifacts/MarkdownIcon.d.ts +0 -3
- package/esm/icons/artifacts/MarkdownIcon.js +0 -4
- package/esm/icons/artifacts/MarkdownIcon.js.map +0 -1
- package/esm/icons/artifacts/PythonIcon.d.ts +0 -3
- package/esm/icons/artifacts/PythonIcon.js +0 -4
- package/esm/icons/artifacts/PythonIcon.js.map +0 -1
- package/esm/icons/artifacts/SvgIcon.d.ts +0 -3
- package/esm/icons/artifacts/SvgIcon.js +0 -4
- package/esm/icons/artifacts/SvgIcon.js.map +0 -1
- package/esm/icons/artifacts/XmlIcon.d.ts +0 -3
- package/esm/icons/artifacts/XmlIcon.js +0 -4
- package/esm/icons/artifacts/XmlIcon.js.map +0 -1
- package/esm/icons/artifacts/cssIcon.d.ts +0 -3
- package/esm/icons/artifacts/cssIcon.js +0 -4
- package/esm/icons/artifacts/cssIcon.js.map +0 -1
- package/esm/testUtils.d.ts +0 -5
- package/esm/testUtils.js +0 -15
- package/esm/testUtils.js.map +0 -1
package/esm/helpers/utils.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export declare function useDebounceFn<T extends (...args: any) => any>(fn: T, de
|
|
|
15
15
|
export declare const stripDuplicates: (text: string) => string;
|
|
16
16
|
export declare const stripEmojis: (text: string) => string;
|
|
17
17
|
export declare const stripMarkdown: (text: string) => string;
|
|
18
|
-
export declare const OFFICE_NATIVE_EXTENSIONS: readonly [".doc", ".docx", ".dotx", ".
|
|
18
|
+
export declare const OFFICE_NATIVE_EXTENSIONS: readonly [".doc", ".docx", ".dotx", ".xltx", ".potx"];
|
|
19
19
|
export declare const isOfficeNativeFilename: (filename: string) => boolean;
|
|
20
20
|
export type ParsedDocumentAttachment = {
|
|
21
21
|
filename: string;
|
package/esm/helpers/utils.js
CHANGED
|
@@ -251,9 +251,15 @@ export const stripReasoningTags = (text) => {
|
|
|
251
251
|
return strippedText;
|
|
252
252
|
};
|
|
253
253
|
export const stripHTML = (text) => {
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
254
|
+
if (typeof DOMParser !== 'undefined') {
|
|
255
|
+
try {
|
|
256
|
+
return (new DOMParser().parseFromString(text, 'text/html').body.textContent ||
|
|
257
|
+
'');
|
|
258
|
+
}
|
|
259
|
+
catch (_a) {
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
return text.replace(/<[^>]*>/g, '');
|
|
257
263
|
};
|
|
258
264
|
export const withLinksOpenInNewTab = (html) => html.replace(/<a\s+/gi, '<a target="_blank" rel="noopener noreferrer" ');
|
|
259
265
|
export const escapeHTML = (text) => {
|
package/esm/helpers/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":"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"}
|
package/esm/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "8.41.
|
|
1
|
+
export declare const version = "8.41.5";
|
package/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '8.41.
|
|
1
|
+
export const version = '8.41.5';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -35,17 +35,21 @@ const PROVIDER_CONFIGS: Record<string, ProviderConfig> = {
|
|
|
35
35
|
statusPage: 'https://status.mistral-data.com/',
|
|
36
36
|
apiComponentName: ['Mistral'],
|
|
37
37
|
},
|
|
38
|
+
// Use status.claude.com directly: status.anthropic.com 302-redirects and
|
|
39
|
+
// browsers block the redirected response (missing CORS on the redirect).
|
|
38
40
|
Anthropic: {
|
|
39
|
-
statusUrl: 'https://status.
|
|
40
|
-
statusPage: 'https://status.
|
|
41
|
-
apiComponentName: [
|
|
41
|
+
statusUrl: 'https://status.claude.com/api/v2/summary.json',
|
|
42
|
+
statusPage: 'https://status.claude.com/',
|
|
43
|
+
apiComponentName: [
|
|
44
|
+
'Claude API (api.anthropic.com)',
|
|
45
|
+
'api.anthropic.com',
|
|
46
|
+
],
|
|
42
47
|
},
|
|
43
48
|
};
|
|
44
49
|
|
|
45
50
|
// Modified to handle fetch errors, different component names, and check incidents
|
|
46
51
|
const fetchProviderStatus = async (config: ProviderConfig): Promise<Status> => {
|
|
47
52
|
try {
|
|
48
|
-
// Use cross-fetch instead of native fetch
|
|
49
53
|
const response = await fetch(config.statusUrl);
|
|
50
54
|
if (!response.ok) {
|
|
51
55
|
console.warn(`Status API returned ${response.status}`);
|
|
@@ -126,9 +126,7 @@ const FilePreview = ({
|
|
|
126
126
|
if (isHtmlFile(file)) {
|
|
127
127
|
let htmlContent = content;
|
|
128
128
|
if (htmlContent.includes('<') || htmlContent.includes('"')) {
|
|
129
|
-
|
|
130
|
-
div.innerHTML = htmlContent;
|
|
131
|
-
htmlContent = div.textContent || div.innerText || htmlContent;
|
|
129
|
+
htmlContent = stripHTML(htmlContent) || htmlContent;
|
|
132
130
|
}
|
|
133
131
|
htmlContent = stripDocumentAttachmentTags(htmlContent);
|
|
134
132
|
return htmlContent;
|
|
@@ -11,6 +11,7 @@ import React, {
|
|
|
11
11
|
import { getResourceUrl } from '../../helpers/media';
|
|
12
12
|
import {
|
|
13
13
|
withLinksOpenInNewTab,
|
|
14
|
+
stripHTML,
|
|
14
15
|
stripDocumentAttachmentTags,
|
|
15
16
|
isAssetOnlyDocumentAttachment,
|
|
16
17
|
getDocumentAttachmentAssetUrl,
|
|
@@ -433,9 +434,7 @@ export const RenderMediaItem = memo(function RenderMediaItem({
|
|
|
433
434
|
htmlContent.includes('<document_attachment')
|
|
434
435
|
) {
|
|
435
436
|
if (htmlContent.includes('<') || htmlContent.includes('"')) {
|
|
436
|
-
|
|
437
|
-
div.innerHTML = htmlContent;
|
|
438
|
-
htmlContent = div.textContent || div.innerText || htmlContent;
|
|
437
|
+
htmlContent = stripHTML(htmlContent) || htmlContent;
|
|
439
438
|
}
|
|
440
439
|
htmlContent = stripDocumentAttachmentTags(htmlContent);
|
|
441
440
|
}
|
|
@@ -274,9 +274,7 @@ export function MediaPreviewModal({
|
|
|
274
274
|
// HTML document attachment: display HTML content in a code-like format
|
|
275
275
|
let htmlContent = medium.content || '';
|
|
276
276
|
if (htmlContent.includes('<') || htmlContent.includes('"')) {
|
|
277
|
-
|
|
278
|
-
div.innerHTML = htmlContent;
|
|
279
|
-
htmlContent = div.textContent || div.innerText || htmlContent;
|
|
277
|
+
htmlContent = stripHTML(htmlContent) || htmlContent;
|
|
280
278
|
} else {
|
|
281
279
|
htmlContent = stripDocumentAttachmentTags(htmlContent);
|
|
282
280
|
}
|
|
@@ -296,9 +294,7 @@ export function MediaPreviewModal({
|
|
|
296
294
|
// Other document attachments: render as plain text
|
|
297
295
|
let displayContent = medium.content;
|
|
298
296
|
if (displayContent.includes('<') || displayContent.includes('"')) {
|
|
299
|
-
|
|
300
|
-
div.innerHTML = displayContent;
|
|
301
|
-
displayContent = div.textContent || div.innerText || displayContent;
|
|
297
|
+
displayContent = stripHTML(displayContent) || displayContent;
|
|
302
298
|
} else {
|
|
303
299
|
displayContent = stripDocumentAttachmentTags(displayContent);
|
|
304
300
|
}
|
|
@@ -125,6 +125,20 @@ const getMemoriState = (integrationId?: string): object | null => {
|
|
|
125
125
|
};
|
|
126
126
|
};
|
|
127
127
|
|
|
128
|
+
/** Unified login token resolution: React state > ref > call-site override > props. */
|
|
129
|
+
const resolveLoginTokenValue = (
|
|
130
|
+
loginToken: string | undefined,
|
|
131
|
+
userTokenRef: string | undefined,
|
|
132
|
+
callAdditionalInfoLoginToken: string | undefined,
|
|
133
|
+
additionalInfoLoginToken: string | undefined,
|
|
134
|
+
authTokenProp: string | undefined
|
|
135
|
+
): string | undefined =>
|
|
136
|
+
loginToken ??
|
|
137
|
+
userTokenRef ??
|
|
138
|
+
callAdditionalInfoLoginToken ??
|
|
139
|
+
additionalInfoLoginToken ??
|
|
140
|
+
authTokenProp;
|
|
141
|
+
|
|
128
142
|
/** Place spec with all nulls for postEnterTextAsync when position is not set or user chose "I don't want to provide my position". */
|
|
129
143
|
const NULL_PLACE_SPEC = {
|
|
130
144
|
placeName: null,
|
|
@@ -377,7 +391,6 @@ window.typeBatchMessages = typeBatchMessages;
|
|
|
377
391
|
let audioContext: IAudioContext;
|
|
378
392
|
|
|
379
393
|
let memoriPassword: string | undefined;
|
|
380
|
-
let userToken: string | undefined;
|
|
381
394
|
|
|
382
395
|
export interface LayoutProps {
|
|
383
396
|
Header?: typeof Header;
|
|
@@ -559,32 +572,78 @@ const MemoriWidget = ({
|
|
|
559
572
|
const [loginToken, setLoginToken] = useState<string | undefined>(
|
|
560
573
|
additionalInfo?.loginToken ?? authToken
|
|
561
574
|
);
|
|
575
|
+
const userTokenRef = useRef<string | undefined>(
|
|
576
|
+
additionalInfo?.loginToken ?? authToken
|
|
577
|
+
);
|
|
578
|
+
const prevPropsLoginTokenRef = useRef<string | undefined>(
|
|
579
|
+
additionalInfo?.loginToken ?? authToken
|
|
580
|
+
);
|
|
581
|
+
|
|
562
582
|
const [user, setUser] = useState<User | undefined>({
|
|
563
583
|
avatarURL: typeof userAvatar === 'string' ? userAvatar : undefined,
|
|
564
584
|
} as User);
|
|
585
|
+
|
|
586
|
+
const resolveLoginToken = useCallback(
|
|
587
|
+
(callAdditionalInfoLoginToken?: string) =>
|
|
588
|
+
resolveLoginTokenValue(
|
|
589
|
+
loginToken,
|
|
590
|
+
userTokenRef.current,
|
|
591
|
+
callAdditionalInfoLoginToken,
|
|
592
|
+
additionalInfo?.loginToken,
|
|
593
|
+
authToken
|
|
594
|
+
),
|
|
595
|
+
[loginToken, additionalInfo?.loginToken, authToken]
|
|
596
|
+
);
|
|
597
|
+
|
|
598
|
+
// Sync loginToken when props change (including explicit removal from parent)
|
|
565
599
|
useEffect(() => {
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
) {
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
if (!birthDate && user.birthDate) {
|
|
579
|
-
setBirthDate(user.birthDate);
|
|
580
|
-
setLocalConfig('birthDate', user.birthDate);
|
|
581
|
-
}
|
|
582
|
-
} else {
|
|
583
|
-
removeLocalConfig('loginToken');
|
|
584
|
-
}
|
|
585
|
-
});
|
|
600
|
+
const incomingToken = additionalInfo?.loginToken ?? authToken;
|
|
601
|
+
const prevPropsToken = prevPropsLoginTokenRef.current;
|
|
602
|
+
prevPropsLoginTokenRef.current = incomingToken;
|
|
603
|
+
|
|
604
|
+
if (incomingToken !== prevPropsToken) {
|
|
605
|
+
setLoginToken(incomingToken);
|
|
606
|
+
userTokenRef.current = incomingToken;
|
|
607
|
+
if (!incomingToken) {
|
|
608
|
+
removeLocalConfig('loginToken');
|
|
609
|
+
setUser(undefined);
|
|
610
|
+
}
|
|
586
611
|
}
|
|
587
|
-
}, [loginToken,
|
|
612
|
+
}, [additionalInfo?.loginToken, authToken]);
|
|
613
|
+
|
|
614
|
+
useEffect(() => {
|
|
615
|
+
if (!loginToken || !(showLogin || memori.requireLoginToken)) {
|
|
616
|
+
return;
|
|
617
|
+
}
|
|
618
|
+
|
|
619
|
+
let cancelled = false;
|
|
620
|
+
|
|
621
|
+
client.backend
|
|
622
|
+
.pwlGetCurrentUser(loginToken)
|
|
623
|
+
.then(({ user: fetchedUser, resultCode }) => {
|
|
624
|
+
if (cancelled) return;
|
|
625
|
+
|
|
626
|
+
if (fetchedUser && resultCode === 0) {
|
|
627
|
+
setUser(fetchedUser);
|
|
628
|
+
setLocalConfig('loginToken', loginToken);
|
|
629
|
+
userTokenRef.current = loginToken;
|
|
630
|
+
|
|
631
|
+
if (!birthDate && fetchedUser.birthDate) {
|
|
632
|
+
setBirthDate(fetchedUser.birthDate);
|
|
633
|
+
setLocalConfig('birthDate', fetchedUser.birthDate);
|
|
634
|
+
}
|
|
635
|
+
} else {
|
|
636
|
+
setLoginToken(undefined);
|
|
637
|
+
userTokenRef.current = undefined;
|
|
638
|
+
setUser(undefined);
|
|
639
|
+
removeLocalConfig('loginToken');
|
|
640
|
+
}
|
|
641
|
+
});
|
|
642
|
+
|
|
643
|
+
return () => {
|
|
644
|
+
cancelled = true;
|
|
645
|
+
};
|
|
646
|
+
}, [loginToken, showLogin, memori.requireLoginToken]);
|
|
588
647
|
const [showLoginDrawer, setShowLoginDrawer] = useState(false);
|
|
589
648
|
|
|
590
649
|
const [clickedStart, setClickedStart] = useState(false);
|
|
@@ -764,7 +823,7 @@ const MemoriWidget = ({
|
|
|
764
823
|
|
|
765
824
|
if (!additionalInfo?.loginToken && !authToken) {
|
|
766
825
|
setLoginToken(getLocalConfig<typeof loginToken>('loginToken', undefined));
|
|
767
|
-
|
|
826
|
+
userTokenRef.current = getLocalConfig<typeof loginToken>('loginToken', undefined);
|
|
768
827
|
|
|
769
828
|
setBirthDate(getLocalConfig<string | undefined>('birthDate', undefined));
|
|
770
829
|
}
|
|
@@ -1391,12 +1450,7 @@ const MemoriWidget = ({
|
|
|
1391
1450
|
pin: params.pin ?? personification?.pin,
|
|
1392
1451
|
additionalInfo: {
|
|
1393
1452
|
...(params.additionalInfo || additionalInfo || {}),
|
|
1394
|
-
loginToken:
|
|
1395
|
-
userToken ??
|
|
1396
|
-
loginToken ??
|
|
1397
|
-
params.additionalInfo?.loginToken ??
|
|
1398
|
-
additionalInfo?.loginToken ??
|
|
1399
|
-
authToken,
|
|
1453
|
+
loginToken: resolveLoginToken(params.additionalInfo?.loginToken),
|
|
1400
1454
|
language: (
|
|
1401
1455
|
userLang ??
|
|
1402
1456
|
memori.culture?.split('-')?.[0] ??
|
|
@@ -1558,12 +1612,7 @@ const MemoriWidget = ({
|
|
|
1558
1612
|
birthDate: userBirthDate,
|
|
1559
1613
|
additionalInfo: {
|
|
1560
1614
|
...(additionalInfoProp || additionalInfo || {}),
|
|
1561
|
-
loginToken:
|
|
1562
|
-
userToken ??
|
|
1563
|
-
loginToken ??
|
|
1564
|
-
additionalInfoProp?.loginToken ??
|
|
1565
|
-
additionalInfo?.loginToken ??
|
|
1566
|
-
authToken,
|
|
1615
|
+
loginToken: resolveLoginToken(additionalInfoProp?.loginToken),
|
|
1567
1616
|
language: (
|
|
1568
1617
|
userLang ??
|
|
1569
1618
|
memori.culture?.split('-')?.[0] ??
|
|
@@ -1845,11 +1894,7 @@ const MemoriWidget = ({
|
|
|
1845
1894
|
birthDate: birthDate || storageBirthDate || undefined,
|
|
1846
1895
|
additionalInfo: {
|
|
1847
1896
|
...(additionalInfo || {}),
|
|
1848
|
-
loginToken:
|
|
1849
|
-
userToken ??
|
|
1850
|
-
loginToken ??
|
|
1851
|
-
additionalInfo?.loginToken ??
|
|
1852
|
-
authToken,
|
|
1897
|
+
loginToken: resolveLoginToken(),
|
|
1853
1898
|
language: (
|
|
1854
1899
|
userLang ??
|
|
1855
1900
|
memori.culture?.split('-')?.[0] ??
|
|
@@ -2732,11 +2777,7 @@ const MemoriWidget = ({
|
|
|
2732
2777
|
birthDate: birth,
|
|
2733
2778
|
additionalInfo: {
|
|
2734
2779
|
...(additionalInfo || {}),
|
|
2735
|
-
loginToken:
|
|
2736
|
-
userToken ??
|
|
2737
|
-
loginToken ??
|
|
2738
|
-
additionalInfo?.loginToken ??
|
|
2739
|
-
authToken,
|
|
2780
|
+
loginToken: resolveLoginToken(),
|
|
2740
2781
|
language: (
|
|
2741
2782
|
userLang ??
|
|
2742
2783
|
memori.culture?.split('-')?.[0] ??
|
|
@@ -3112,29 +3153,31 @@ const MemoriWidget = ({
|
|
|
3112
3153
|
return;
|
|
3113
3154
|
}
|
|
3114
3155
|
|
|
3156
|
+
const propsToken = additionalInfo?.loginToken ?? authToken;
|
|
3157
|
+
const initialDomToken = targetNode.getAttribute('authtoken') || undefined;
|
|
3158
|
+
if (initialDomToken && !propsToken) {
|
|
3159
|
+
setLoginToken(initialDomToken);
|
|
3160
|
+
userTokenRef.current = initialDomToken;
|
|
3161
|
+
}
|
|
3162
|
+
|
|
3163
|
+
const applyAuthTokenFromElement = (element: Element) => {
|
|
3164
|
+
const clientNode =
|
|
3165
|
+
element.nodeName === 'MEMORI-CLIENT'
|
|
3166
|
+
? element
|
|
3167
|
+
: element.closest('memori-client') ?? element.parentElement;
|
|
3168
|
+
const token = clientNode?.getAttribute('authtoken') || undefined;
|
|
3169
|
+
setLoginToken(token);
|
|
3170
|
+
userTokenRef.current = token;
|
|
3171
|
+
};
|
|
3172
|
+
|
|
3115
3173
|
const config = { attributes: true, childList: false, subtree: false };
|
|
3116
|
-
const callback: MutationCallback =
|
|
3174
|
+
const callback: MutationCallback = mutationList => {
|
|
3117
3175
|
for (const mutation of mutationList) {
|
|
3118
3176
|
if (
|
|
3119
3177
|
mutation.type === 'attributes' &&
|
|
3120
3178
|
mutation.attributeName?.toLowerCase() === 'authtoken'
|
|
3121
3179
|
) {
|
|
3122
|
-
|
|
3123
|
-
setLoginToken(
|
|
3124
|
-
// @ts-ignore
|
|
3125
|
-
mutation.target.getAttribute('authtoken') || undefined
|
|
3126
|
-
);
|
|
3127
|
-
// @ts-ignore
|
|
3128
|
-
userToken = mutation.target.getAttribute('authtoken') || undefined;
|
|
3129
|
-
} else {
|
|
3130
|
-
// @ts-ignore
|
|
3131
|
-
setLoginToken(
|
|
3132
|
-
mutation.target?.parentElement?.getAttribute('authtoken') ||
|
|
3133
|
-
undefined
|
|
3134
|
-
);
|
|
3135
|
-
// @ts-ignore
|
|
3136
|
-
userToken = mutation.target.getAttribute('authtoken') || undefined;
|
|
3137
|
-
}
|
|
3180
|
+
applyAuthTokenFromElement(mutation.target as Element);
|
|
3138
3181
|
}
|
|
3139
3182
|
}
|
|
3140
3183
|
};
|
|
@@ -3144,7 +3187,7 @@ const MemoriWidget = ({
|
|
|
3144
3187
|
return () => {
|
|
3145
3188
|
observer.disconnect();
|
|
3146
3189
|
};
|
|
3147
|
-
}, []);
|
|
3190
|
+
}, [memori.name, memori.memoriID, additionalInfo?.loginToken, authToken]);
|
|
3148
3191
|
|
|
3149
3192
|
/**
|
|
3150
3193
|
* Experts references
|
|
@@ -3306,7 +3349,7 @@ const MemoriWidget = ({
|
|
|
3306
3349
|
setShowLoginDrawer(false);
|
|
3307
3350
|
setUser(undefined);
|
|
3308
3351
|
setLoginToken(undefined);
|
|
3309
|
-
|
|
3352
|
+
userTokenRef.current = undefined;
|
|
3310
3353
|
removeLocalConfig('loginToken');
|
|
3311
3354
|
});
|
|
3312
3355
|
},
|
|
@@ -3379,8 +3422,7 @@ const MemoriWidget = ({
|
|
|
3379
3422
|
showTypingText:
|
|
3380
3423
|
showTypingText ?? integrationConfig?.showTypingText ?? false,
|
|
3381
3424
|
history: showFullHistory ? history : history.slice(-2),
|
|
3382
|
-
authToken:
|
|
3383
|
-
loginToken ?? userToken ?? additionalInfo?.loginToken ?? authToken,
|
|
3425
|
+
authToken: resolveLoginToken(),
|
|
3384
3426
|
dialogState: currentDialogState,
|
|
3385
3427
|
pushMessage,
|
|
3386
3428
|
simulateUserPrompt,
|
|
@@ -3770,7 +3812,7 @@ const MemoriWidget = ({
|
|
|
3770
3812
|
setShowLoginDrawer(false);
|
|
3771
3813
|
setUser(user);
|
|
3772
3814
|
setLoginToken(token);
|
|
3773
|
-
|
|
3815
|
+
userTokenRef.current = token;
|
|
3774
3816
|
setLocalConfig('loginToken', token);
|
|
3775
3817
|
// Push a message with initial status to show status message when a new session is created after login
|
|
3776
3818
|
if (
|
|
@@ -3811,7 +3853,7 @@ const MemoriWidget = ({
|
|
|
3811
3853
|
setShowLoginDrawer(false);
|
|
3812
3854
|
setUser(undefined);
|
|
3813
3855
|
setLoginToken(undefined);
|
|
3814
|
-
|
|
3856
|
+
userTokenRef.current = undefined;
|
|
3815
3857
|
removeLocalConfig('loginToken');
|
|
3816
3858
|
});
|
|
3817
3859
|
}}
|
|
@@ -6,7 +6,7 @@ exports[`renders UploadButton unchanged 1`] = `
|
|
|
6
6
|
class="memori--unified-upload-wrapper"
|
|
7
7
|
>
|
|
8
8
|
<input
|
|
9
|
-
accept=".jpg,.jpeg,.png,.pdf,.txt,.json,.xlsx,.csv,.md,.html,.doc,.docx,.dotx,.
|
|
9
|
+
accept=".jpg,.jpeg,.png,.pdf,.txt,.json,.xlsx,.csv,.md,.html,.doc,.docx,.dotx,.xltx,.potx"
|
|
10
10
|
class="memori--upload-file-input"
|
|
11
11
|
multiple=""
|
|
12
12
|
style="display: none;"
|
|
@@ -52,7 +52,7 @@ exports[`renders UploadButton unchanged 1`] = `
|
|
|
52
52
|
class="memori--document-upload-wrapper"
|
|
53
53
|
>
|
|
54
54
|
<input
|
|
55
|
-
accept=".pdf,.txt,.md,.json,.xlsx,.csv,.html,.doc,.docx,.dotx,.
|
|
55
|
+
accept=".pdf,.txt,.md,.json,.xlsx,.csv,.html,.doc,.docx,.dotx,.xltx,.potx"
|
|
56
56
|
class="memori--upload-file-input"
|
|
57
57
|
multiple=""
|
|
58
58
|
type="file"
|
package/src/helpers/constants.ts
CHANGED
|
@@ -1,4 +1,24 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
renderMsg,
|
|
3
|
+
sanitizeMsg,
|
|
4
|
+
stripAttachmentTags,
|
|
5
|
+
stripAllInternalTags,
|
|
6
|
+
} from './message';
|
|
7
|
+
|
|
8
|
+
describe('sanitizeMsg', () => {
|
|
9
|
+
it('strips onerror from partner XSS img payload', () => {
|
|
10
|
+
const payload =
|
|
11
|
+
'<img src="immagine-inesistente.jpg" onerror="alert(\'XSS Eseguito!\')">';
|
|
12
|
+
const result = sanitizeMsg(payload);
|
|
13
|
+
expect(result).toBe('<img src="immagine-inesistente.jpg">');
|
|
14
|
+
expect(result).not.toMatch(/onerror/i);
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
it('strips svg onload handlers', () => {
|
|
18
|
+
const result = sanitizeMsg('<svg onload="alert(1)"></svg>');
|
|
19
|
+
expect(result).not.toMatch(/onload/i);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
2
22
|
|
|
3
23
|
describe('renderMsg', () => {
|
|
4
24
|
it('should render message with reasoning and output tag adjacent correctly', () => {
|
|
@@ -11,6 +31,13 @@ describe('renderMsg', () => {
|
|
|
11
31
|
'<details class="memori-think"><summary>Reasoning...</summary>L\'utente vuole che io elenchi i parametri dell\'ALBERO ESISTENTE.</details>\n\n<output class="rails-query" style="display:none">\nproject = Project.find("68d99b05783713e16737d32b")\n</output>\n\n<p>Recupero tutti i 7 parametri dell\'ALBERO ESISTENTE...</p>'
|
|
12
32
|
);
|
|
13
33
|
});
|
|
34
|
+
|
|
35
|
+
it('strips onerror from XSS img payload in rendered output', () => {
|
|
36
|
+
const payload =
|
|
37
|
+
'<img src="immagine-inesistente.jpg" onerror="alert(\'XSS Eseguito!\')">';
|
|
38
|
+
const result = renderMsg(payload, false, 'Reasoning...', false);
|
|
39
|
+
expect(result.text).not.toMatch(/onerror/i);
|
|
40
|
+
});
|
|
14
41
|
});
|
|
15
42
|
|
|
16
43
|
describe('stripAttachmentTags', () => {
|
package/src/helpers/message.ts
CHANGED
|
@@ -85,6 +85,9 @@ export const truncateMessage = (message: string) => {
|
|
|
85
85
|
return truncatedMessage;
|
|
86
86
|
};
|
|
87
87
|
|
|
88
|
+
export const sanitizeMsg = (msg: string) =>
|
|
89
|
+
DOMPurify.sanitize(msg, { ADD_ATTR: ['target'] });
|
|
90
|
+
|
|
88
91
|
export const renderMsg = (
|
|
89
92
|
text: string,
|
|
90
93
|
useMathFormatting = false,
|
|
@@ -196,9 +199,6 @@ export const renderMsg = (
|
|
|
196
199
|
return { text: finalText };
|
|
197
200
|
} catch (e) {
|
|
198
201
|
console.error('Error rendering message:', e);
|
|
199
|
-
return { text };
|
|
202
|
+
return { text: sanitizeMsg(text) };
|
|
200
203
|
}
|
|
201
204
|
};
|
|
202
|
-
|
|
203
|
-
export const sanitizeMsg = (msg: string) =>
|
|
204
|
-
DOMPurify.sanitize(msg, { ADD_ATTR: ['target'] });
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
difference,
|
|
3
3
|
stripEmojis,
|
|
4
|
+
stripHTML,
|
|
4
5
|
stripMarkdown,
|
|
5
6
|
stripOutputTags,
|
|
6
7
|
escapeHTML,
|
|
@@ -177,7 +178,7 @@ describe('utils/attachment helpers', () => {
|
|
|
177
178
|
it('detects office native filenames', () => {
|
|
178
179
|
expect(isOfficeNativeFilename('report.doc')).toBe(true);
|
|
179
180
|
expect(isOfficeNativeFilename('report.docx')).toBe(true);
|
|
180
|
-
expect(isOfficeNativeFilename('budget.xls')).toBe(
|
|
181
|
+
expect(isOfficeNativeFilename('budget.xls')).toBe(false);
|
|
181
182
|
expect(isOfficeNativeFilename('template.XLTX')).toBe(true);
|
|
182
183
|
expect(isOfficeNativeFilename('slides.potx')).toBe(true);
|
|
183
184
|
expect(isOfficeNativeFilename('notes.pdf')).toBe(false);
|
|
@@ -254,6 +255,54 @@ describe('utils/attachment helpers', () => {
|
|
|
254
255
|
});
|
|
255
256
|
});
|
|
256
257
|
|
|
258
|
+
describe('utils/stripHTML', () => {
|
|
259
|
+
it('strips tags and returns text content', () => {
|
|
260
|
+
expect(stripHTML('<p>Hello <strong>world</strong></p>')).toBe(
|
|
261
|
+
'Hello world'
|
|
262
|
+
);
|
|
263
|
+
});
|
|
264
|
+
|
|
265
|
+
it('does not retain onerror from partner XSS payload', () => {
|
|
266
|
+
const payload =
|
|
267
|
+
'<img src="immagine-inesistente.jpg" onerror="alert(\'XSS Eseguito!\')">';
|
|
268
|
+
const result = stripHTML(payload);
|
|
269
|
+
expect(result).toBe('');
|
|
270
|
+
expect(result).not.toMatch(/onerror/i);
|
|
271
|
+
// Re-parse result: must not introduce an executable handler attribute
|
|
272
|
+
const reparsed = new DOMParser().parseFromString(result, 'text/html');
|
|
273
|
+
expect(reparsed.querySelector('[onerror]')).toBeNull();
|
|
274
|
+
expect(reparsed.querySelector('img')).toBeNull();
|
|
275
|
+
});
|
|
276
|
+
|
|
277
|
+
it('strips svg onload payloads without leaving handlers', () => {
|
|
278
|
+
const payload = '<svg onload="alert(1)"><text>x</text></svg>';
|
|
279
|
+
const result = stripHTML(payload);
|
|
280
|
+
expect(result).toBe('x');
|
|
281
|
+
expect(result).not.toMatch(/onload/i);
|
|
282
|
+
});
|
|
283
|
+
|
|
284
|
+
it('decodes HTML entities without executing nested markup', () => {
|
|
285
|
+
const encoded =
|
|
286
|
+
'<img src="x" onerror="alert(1)">hello</img>';
|
|
287
|
+
const result = stripHTML(encoded);
|
|
288
|
+
expect(result).toContain('hello');
|
|
289
|
+
// Entity-decoded text may contain the string "onerror" as text; ensure no live element
|
|
290
|
+
const reparsed = new DOMParser().parseFromString(
|
|
291
|
+
`<div>${result.replace(/</g, '<')}</div>`,
|
|
292
|
+
'text/html'
|
|
293
|
+
);
|
|
294
|
+
expect(reparsed.querySelector('[onerror]')).toBeNull();
|
|
295
|
+
});
|
|
296
|
+
|
|
297
|
+
it('handles nested tags', () => {
|
|
298
|
+
expect(stripHTML('<div><span>a</span><b>b</b></div>')).toBe('ab');
|
|
299
|
+
});
|
|
300
|
+
|
|
301
|
+
it('returns empty string for empty input', () => {
|
|
302
|
+
expect(stripHTML('')).toBe('');
|
|
303
|
+
});
|
|
304
|
+
});
|
|
305
|
+
|
|
257
306
|
describe('utils/parsing combined', () => {
|
|
258
307
|
it('should remove output tag from real message', () => {
|
|
259
308
|
const result = escapeHTML(
|