sitesmith: null-safe esc() in Navbar/Menu/Logo + clear chat button

The prior null-safe esc patch only matched 'const esc =' declarations;
Menu/Navbar/Logo use 'function esc(str: string)' syntax and slipped
through. Patched those three to coerce non-strings the same way.

Added "Clear chat" button in the modal header that appears when there's
any message history. Confirms with the user before posting to the new
clear_history endpoint, which deletes all messages + the thread row
for the current site (usage rows are preserved for billing).
This commit is contained in:
2026-05-24 16:03:02 -07:00
parent 069ea1235a
commit 906695379b
5 changed files with 42 additions and 7 deletions

View File

@@ -38,7 +38,8 @@ async function uploadToWhp(file: File): Promise<string | null> {
}
/* ---------- Helper: escape HTML ---------- */
function esc(str: string): string {
function esc(str: any): string {
str = String(str ?? "");
return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
}