mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-08 05:39:13 +00:00
Sanitize rendering chat references in Web, Desktop and Obsidian clients
Use textContent instead of innerHTML to append references Resolves #583
This commit is contained in:
@@ -46,7 +46,7 @@
|
|||||||
let short_ref = escaped_ref.slice(0, 100);
|
let short_ref = escaped_ref.slice(0, 100);
|
||||||
short_ref = short_ref.length < escaped_ref.length ? short_ref + "..." : short_ref;
|
short_ref = short_ref.length < escaped_ref.length ? short_ref + "..." : short_ref;
|
||||||
let referenceButton = document.createElement('button');
|
let referenceButton = document.createElement('button');
|
||||||
referenceButton.innerHTML = short_ref;
|
referenceButton.textContent = short_ref;
|
||||||
referenceButton.id = `ref-${index}`;
|
referenceButton.id = `ref-${index}`;
|
||||||
referenceButton.classList.add("reference-button");
|
referenceButton.classList.add("reference-button");
|
||||||
referenceButton.classList.add("collapsed");
|
referenceButton.classList.add("collapsed");
|
||||||
@@ -58,11 +58,11 @@
|
|||||||
if (this.classList.contains("collapsed")) {
|
if (this.classList.contains("collapsed")) {
|
||||||
this.classList.remove("collapsed");
|
this.classList.remove("collapsed");
|
||||||
this.classList.add("expanded");
|
this.classList.add("expanded");
|
||||||
this.innerHTML = escaped_ref;
|
this.textContent = escaped_ref;
|
||||||
} else {
|
} else {
|
||||||
this.classList.add("collapsed");
|
this.classList.add("collapsed");
|
||||||
this.classList.remove("expanded");
|
this.classList.remove("expanded");
|
||||||
this.innerHTML = short_ref;
|
this.textContent = short_ref;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ export class KhojChatModal extends Modal {
|
|||||||
let short_ref = escaped_ref.slice(0, 100);
|
let short_ref = escaped_ref.slice(0, 100);
|
||||||
short_ref = short_ref.length < escaped_ref.length ? short_ref + "..." : short_ref;
|
short_ref = short_ref.length < escaped_ref.length ? short_ref + "..." : short_ref;
|
||||||
let referenceButton = messageEl.createEl('button');
|
let referenceButton = messageEl.createEl('button');
|
||||||
referenceButton.innerHTML = short_ref;
|
referenceButton.textContent = short_ref;
|
||||||
referenceButton.id = `ref-${index}`;
|
referenceButton.id = `ref-${index}`;
|
||||||
referenceButton.classList.add("reference-button");
|
referenceButton.classList.add("reference-button");
|
||||||
referenceButton.classList.add("collapsed");
|
referenceButton.classList.add("collapsed");
|
||||||
@@ -101,11 +101,11 @@ export class KhojChatModal extends Modal {
|
|||||||
if (this.classList.contains("collapsed")) {
|
if (this.classList.contains("collapsed")) {
|
||||||
this.classList.remove("collapsed");
|
this.classList.remove("collapsed");
|
||||||
this.classList.add("expanded");
|
this.classList.add("expanded");
|
||||||
this.innerHTML = escaped_ref;
|
this.textContent = escaped_ref;
|
||||||
} else {
|
} else {
|
||||||
this.classList.add("collapsed");
|
this.classList.add("collapsed");
|
||||||
this.classList.remove("expanded");
|
this.classList.remove("expanded");
|
||||||
this.innerHTML = short_ref;
|
this.textContent = short_ref;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -321,7 +321,6 @@ export class KhojChatModal extends Modal {
|
|||||||
if (responseText.includes("### compiled references:")) {
|
if (responseText.includes("### compiled references:")) {
|
||||||
const [additionalResponse, rawReference] = responseText.split("### compiled references:", 2);
|
const [additionalResponse, rawReference] = responseText.split("### compiled references:", 2);
|
||||||
await this.renderIncrementalMessage(responseElement, additionalResponse);
|
await this.renderIncrementalMessage(responseElement, additionalResponse);
|
||||||
console.log(`Raw: ${responseText}\nResponse: ${additionalResponse}\nReferences: ${rawReference}`);
|
|
||||||
|
|
||||||
const rawReferenceAsJson = JSON.parse(rawReference);
|
const rawReferenceAsJson = JSON.parse(rawReference);
|
||||||
let references = responseElement.createDiv();
|
let references = responseElement.createDiv();
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ To get started, just start typing below. You can also type / to see a list of co
|
|||||||
let short_ref = escaped_ref.slice(0, 140);
|
let short_ref = escaped_ref.slice(0, 140);
|
||||||
short_ref = short_ref.length < escaped_ref.length ? short_ref + "..." : short_ref;
|
short_ref = short_ref.length < escaped_ref.length ? short_ref + "..." : short_ref;
|
||||||
let referenceButton = document.createElement('button');
|
let referenceButton = document.createElement('button');
|
||||||
referenceButton.innerHTML = short_ref;
|
referenceButton.textContent = short_ref;
|
||||||
referenceButton.id = `ref-${index}`;
|
referenceButton.id = `ref-${index}`;
|
||||||
referenceButton.classList.add("reference-button");
|
referenceButton.classList.add("reference-button");
|
||||||
referenceButton.classList.add("collapsed");
|
referenceButton.classList.add("collapsed");
|
||||||
@@ -67,11 +67,11 @@ To get started, just start typing below. You can also type / to see a list of co
|
|||||||
if (this.classList.contains("collapsed")) {
|
if (this.classList.contains("collapsed")) {
|
||||||
this.classList.remove("collapsed");
|
this.classList.remove("collapsed");
|
||||||
this.classList.add("expanded");
|
this.classList.add("expanded");
|
||||||
this.innerHTML = escaped_ref;
|
this.textContent = escaped_ref;
|
||||||
} else {
|
} else {
|
||||||
this.classList.add("collapsed");
|
this.classList.add("collapsed");
|
||||||
this.classList.remove("expanded");
|
this.classList.remove("expanded");
|
||||||
this.innerHTML = short_ref;
|
this.textContent = short_ref;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user