mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-09 05:39:12 +00:00
Fix escaping quote in chat references to prevent it breaking out of html
This commit is contained in:
@@ -62,7 +62,7 @@ export class KhojChatModal extends Modal {
|
|||||||
generateReference(messageEl: any, reference: string, index: number) {
|
generateReference(messageEl: any, reference: string, index: number) {
|
||||||
// Generate HTML for Chat Reference
|
// Generate HTML for Chat Reference
|
||||||
// `<sup><abbr title="${escaped_ref}" tabindex="0">${index}</abbr></sup>`;
|
// `<sup><abbr title="${escaped_ref}" tabindex="0">${index}</abbr></sup>`;
|
||||||
let escaped_ref = reference.replace(/"/g, "\\\"")
|
let escaped_ref = reference.replace(/"/g, """)
|
||||||
return messageEl.createEl("sup").createEl("abbr", {
|
return messageEl.createEl("sup").createEl("abbr", {
|
||||||
attr: {
|
attr: {
|
||||||
title: escaped_ref,
|
title: escaped_ref,
|
||||||
@@ -75,7 +75,7 @@ export class KhojChatModal extends Modal {
|
|||||||
renderMessageWithReferences(message: string, sender: string, context?: [string], dt?: Date) {
|
renderMessageWithReferences(message: string, sender: string, context?: [string], dt?: Date) {
|
||||||
let messageEl = this.renderMessage(message, sender, dt);
|
let messageEl = this.renderMessage(message, sender, dt);
|
||||||
if (context && !!messageEl) {
|
if (context && !!messageEl) {
|
||||||
context.map((reference, index) => this.generateReference(messageEl, reference, index+1));
|
context.map((reference, index) => this.generateReference(messageEl, reference, index + 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function generateReference(reference, index) {
|
function generateReference(reference, index) {
|
||||||
|
// Escape reference for HTML rendering
|
||||||
|
let escaped_ref = reference.replaceAll('"', '"');
|
||||||
|
|
||||||
// Generate HTML for Chat Reference
|
// Generate HTML for Chat Reference
|
||||||
let escaped_ref = reference.replaceAll("\"", "\\\"")
|
|
||||||
return `<sup><abbr title="${escaped_ref}" tabindex="0">${index}</abbr></sup>`;
|
return `<sup><abbr title="${escaped_ref}" tabindex="0">${index}</abbr></sup>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user