[object Object]

← back to Ticket System

chore: harden browser-side esc() to escape single-quote (session close)

18f29bed2140f7c1c15fa67409394960d43d8773 · 2026-07-27 12:11:40 -0700 · Steve Abrams

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Files touched

Diff

commit 18f29bed2140f7c1c15fa67409394960d43d8773
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Mon Jul 27 12:11:40 2026 -0700

    chore: harden browser-side esc() to escape single-quote (session close)
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
 office.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/office.html b/office.html
index 299ab30..bd33b2f 100644
--- a/office.html
+++ b/office.html
@@ -479,7 +479,7 @@ async function poll(){
     document.getElementById('err').style.display='none'; lastFetch=Date.now();
   }catch(e){ const el=document.getElementById('err'); el.textContent='⚠ '+e.message+' — retrying'; el.style.display='block'; }
 }
-const esc=s=>String(s).replace(/[&<>"]/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;'}[c]));
+const esc=s=>String(s).replace(/[&<>"']/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#39;'}[c]));
 function worldPos(av){ const v=new THREE.Vector3(); av.getWorldPosition(v); v.y=3.3; return v; }
 
 function apply(tk,msgs){

← bb20804 Fleet Office: green 'running' edge for live agents, pm2 proc  ·  back to Ticket System  ·  auto-save: 2026-07-27T15:21:37 (1 files) — office.html 67de870 →