From 78e60e22d24bc4d94e9e9b78ed27635644051de4 Mon Sep 17 00:00:00 2001 From: Henry Heng Date: Mon, 15 Jul 2024 15:16:56 +0100 Subject: [PATCH] Bugfix/Undefined substring error (#2804) fix undefined substring error --- .../ui/src/views/chatmessage/ChatMessage.jsx | 44 +++++++++++-------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/packages/ui/src/views/chatmessage/ChatMessage.jsx b/packages/ui/src/views/chatmessage/ChatMessage.jsx index f3d7b455d..43888ff36 100644 --- a/packages/ui/src/views/chatmessage/ChatMessage.jsx +++ b/packages/ui/src/views/chatmessage/ChatMessage.jsx @@ -214,7 +214,7 @@ export const ChatMessage = ({ open, chatflowid, isAgentCanvas, isDialog, preview data: s, preview: s, type: 'url', - name: s.substring(s.lastIndexOf('/') + 1) + name: s ? s.substring(s.lastIndexOf('/') + 1) : '' } setPreviews((prevPreviews) => [...prevPreviews, upload]) }) @@ -222,14 +222,14 @@ export const ChatMessage = ({ open, chatflowid, isAgentCanvas, isDialog, preview item.getAsString((s) => { if (s.indexOf('href') === -1) return //extract href - let start = s.substring(s.indexOf('href') + 6) + let start = s ? s.substring(s.indexOf('href') + 6) : '' let hrefStr = start.substring(0, start.indexOf('"')) let upload = { data: hrefStr, preview: hrefStr, type: 'url', - name: hrefStr.substring(hrefStr.lastIndexOf('/') + 1) + name: hrefStr ? hrefStr.substring(hrefStr.lastIndexOf('/') + 1) : '' } setPreviews((prevPreviews) => [...prevPreviews, upload]) }) @@ -282,7 +282,7 @@ export const ChatMessage = ({ open, chatflowid, isAgentCanvas, isDialog, preview if (pos === -1) { mimeType = blob.type } else { - mimeType = blob.type.substring(0, pos) + mimeType = blob.type ? blob.type.substring(0, pos) : '' } // read blob and add to previews const reader = new FileReader() @@ -598,6 +598,26 @@ export const ChatMessage = ({ open, chatflowid, isAgentCanvas, isDialog, preview } } + const getLabel = (URL, source) => { + if (URL && typeof URL === 'object') { + if (URL.pathname && typeof URL.pathname === 'string') { + if (URL.pathname.substring(0, 15) === '/') { + return URL.host || '' + } else { + return `${URL.pathname.substring(0, 15)}...` + } + } else if (URL.host) { + return URL.host + } + } + + if (source && source.pageContent && typeof source.pageContent === 'string') { + return `${source.pageContent.substring(0, 15)}...` + } + + return '' + } + const downloadFile = async (fileAnnotation) => { try { const response = await axios.post( @@ -1180,13 +1200,7 @@ export const ChatMessage = ({ open, chatflowid, isAgentCanvas, isDialog, preview