[object Object]

← back to Dw Pitch Followup

chore: lint, refactor (dedup repaint per unique email), v0.4.1 (session close)

dcb29c49d6a373b0698c196881c181381b11238b · 2026-07-15 11:04:43 -0700 · Steve Abrams

Files touched

Diff

commit dcb29c49d6a373b0698c196881c181381b11238b
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Wed Jul 15 11:04:43 2026 -0700

    chore: lint, refactor (dedup repaint per unique email), v0.4.1 (session close)
---
 package-lock.json | 4 ++--
 package.json      | 2 +-
 public/index.html | 5 ++++-
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 7c40918..add002c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "dw-pitch-followup",
-  "version": "0.4.0",
+  "version": "0.4.1",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "dw-pitch-followup",
-      "version": "0.4.0",
+      "version": "0.4.1",
       "dependencies": {
         "express": "^4.22.2"
       }
diff --git a/package.json b/package.json
index b38abf2..0daf280 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "dw-pitch-followup",
-  "version": "0.4.0",
+  "version": "0.4.1",
   "private": true,
   "type": "module",
   "description": "DW client follow-up pitch lists + selection viewer. Read-only over FileMaker (Clients/WALLPAPER/invoice) + George (Gmail thread context). No sends, no Gmail drafts — Steve selects pitches from the viewer.",
diff --git a/public/index.html b/public/index.html
index 8997664..ffa4d09 100644
--- a/public/index.html
+++ b/public/index.html
@@ -847,10 +847,13 @@ async function refreshSentIdx(){
   try{
     const j=await fetch(API('/api/sent-index')).then(r=>r.json());
     window.SENT_IDX=j.idx||window.SENT_IDX;
+    const toRepaint=new Set();
     document.querySelectorAll('.card').forEach(c=>{
       const row=c._row; if(!row||!row.email||c.querySelector('.chip.sent'))return;
-      if(SENT_IDX[String(row.email).trim().toLowerCase()])repaintSentCards(row.email);
+      const lc=String(row.email).trim().toLowerCase();
+      if(SENT_IDX[lc])toRepaint.add(lc);
     });
+    toRepaint.forEach(repaintSentCards);
   }catch{/* best-effort — next focus retries */}finally{_idxBusy=false;}
 }
 document.addEventListener('visibilitychange',()=>{if(document.visibilityState==='visible')refreshSentIdx()});

← 229cd17 fix(notes): FileMaker note-save silently no-op'd — write rep  ·  back to Dw Pitch Followup  ·  (newest)