diff --git a/src/interface/desktop/chat.html b/src/interface/desktop/chat.html
index 3da215fe4..cc081da76 100644
--- a/src/interface/desktop/chat.html
+++ b/src/interface/desktop/chat.html
@@ -357,15 +357,16 @@
let numReferences = 0;
- if (Array.isArray(references)) {
- numReferences = references.length;
+ if (references.hasOwnProperty("notes")) {
+ numReferences += references["notes"].length;
- references.forEach((reference, index) => {
+ references["notes"].forEach((reference, index) => {
let polishedReference = generateReference(reference, index);
referenceSection.appendChild(polishedReference);
});
- } else {
- numReferences += processOnlineReferences(referenceSection, references);
+ }
+ if (references.hasOwnProperty("online")){
+ numReferences += processOnlineReferences(referenceSection, references["online"]);
}
let referenceExpandButton = document.createElement('button');
@@ -511,7 +512,7 @@
// Handle streamed response of type text/event-stream or text/plain
const reader = response.body.getReader();
const decoder = new TextDecoder();
- let references = null;
+ let references = {};
readStream();
@@ -519,8 +520,8 @@
reader.read().then(({ done, value }) => {
if (done) {
// Append any references after all the data has been streamed
- if (references != null) {
- newResponseText.appendChild(references);
+ if (references != {}) {
+ newResponseText.appendChild(createReferenceSection(references));
}
document.getElementById("chat-body").scrollTop = document.getElementById("chat-body").scrollHeight;
document.getElementById("chat-input").removeAttribute("disabled");
@@ -538,7 +539,11 @@
const rawReference = chunk.split("### compiled references:")[1];
const rawReferenceAsJson = JSON.parse(rawReference);
- references = createReferenceSection(rawReferenceAsJson);
+ if (rawReferenceAsJson instanceof Array) {
+ references["notes"] = rawReferenceAsJson;
+ } else if (typeof rawReferenceAsJson === "object" && rawReferenceAsJson !== null) {
+ references["online"] = rawReferenceAsJson;
+ }
readStream();
} else {
// Display response from Khoj
diff --git a/src/khoj/interface/web/chat.html b/src/khoj/interface/web/chat.html
index ef45b0db4..c251bff28 100644
--- a/src/khoj/interface/web/chat.html
+++ b/src/khoj/interface/web/chat.html
@@ -368,15 +368,16 @@
let numReferences = 0;
- if (Array.isArray(references)) {
- numReferences = references.length;
+ if (references.hasOwnProperty("notes")) {
+ numReferences += references["notes"].length;
- references.forEach((reference, index) => {
+ references["notes"].forEach((reference, index) => {
let polishedReference = generateReference(reference, index);
referenceSection.appendChild(polishedReference);
});
- } else {
- numReferences += processOnlineReferences(referenceSection, references);
+ }
+ if (references.hasOwnProperty("online")) {
+ numReferences += processOnlineReferences(referenceSection, references["online"]);
}
let referenceExpandButton = document.createElement('button');
@@ -518,7 +519,7 @@
// Handle streamed response of type text/event-stream or text/plain
const reader = response.body.getReader();
const decoder = new TextDecoder();
- let references = null;
+ let references = {};
readStream();
@@ -526,8 +527,8 @@
reader.read().then(({ done, value }) => {
if (done) {
// Append any references after all the data has been streamed
- if (references != null) {
- newResponseText.appendChild(references);
+ if (references != {}) {
+ newResponseText.appendChild(createReferenceSection(references));
}
document.getElementById("chat-body").scrollTop = document.getElementById("chat-body").scrollHeight;
document.getElementById("chat-input").removeAttribute("disabled");
@@ -545,7 +546,11 @@
const rawReference = chunk.split("### compiled references:")[1];
const rawReferenceAsJson = JSON.parse(rawReference);
- references = createReferenceSection(rawReferenceAsJson);
+ if (rawReferenceAsJson instanceof Array) {
+ references["notes"] = rawReferenceAsJson;
+ } else if (typeof rawReferenceAsJson === "object" && rawReferenceAsJson !== null) {
+ references["online"] = rawReferenceAsJson;
+ }
readStream();
} else {
// Display response from Khoj
diff --git a/src/khoj/processor/conversation/utils.py b/src/khoj/processor/conversation/utils.py
index 748395054..f028922b6 100644
--- a/src/khoj/processor/conversation/utils.py
+++ b/src/khoj/processor/conversation/utils.py
@@ -64,7 +64,7 @@ def send(self, data):
def close(self):
if self.compiled_references and len(self.compiled_references) > 0:
self.queue.put(f"### compiled references:{json.dumps(self.compiled_references)}")
- elif self.online_results and len(self.online_results) > 0:
+ if self.online_results and len(self.online_results) > 0:
self.queue.put(f"### compiled references:{json.dumps(self.online_results)}")
self.queue.put(StopIteration)