{removeDuplicateURL(message).map((source, index) => {
- const URL = isValidURL(source.metadata.source)
+ const URL =
+ source.metadata && source.metadata.source
+ ? isValidURL(source.metadata.source)
+ : undefined
return (
{
if (!message.sourceDocuments) return newSourceDocuments
message.sourceDocuments.forEach((source) => {
- if (isValidURL(source.metadata.source) && !visitedURLs.includes(source.metadata.source)) {
- visitedURLs.push(source.metadata.source)
- newSourceDocuments.push(source)
- } else if (!isValidURL(source.metadata.source)) {
+ if (source.metadata && source.metadata.source) {
+ if (isValidURL(source.metadata.source) && !visitedURLs.includes(source.metadata.source)) {
+ visitedURLs.push(source.metadata.source)
+ newSourceDocuments.push(source)
+ } else if (!isValidURL(source.metadata.source)) {
+ newSourceDocuments.push(source)
+ }
+ } else {
newSourceDocuments.push(source)
}
})
diff --git a/packages/ui/src/views/chatmessage/ChatMessage.js b/packages/ui/src/views/chatmessage/ChatMessage.js
index 7cfd04740..7e805f7e9 100644
--- a/packages/ui/src/views/chatmessage/ChatMessage.js
+++ b/packages/ui/src/views/chatmessage/ChatMessage.js
@@ -379,7 +379,10 @@ export const ChatMessage = ({ open, chatflowid, isDialog }) => {
{message.sourceDocuments && (
{removeDuplicateURL(message).map((source, index) => {
- const URL = isValidURL(source.metadata.source)
+ const URL =
+ source.metadata && source.metadata.source
+ ? isValidURL(source.metadata.source)
+ : undefined
return (