[object Object]

← back to Re Flyer Aggregator

security: add rel=noopener noreferrer to target=_blank links (yoloforever cycle 3)

4dd6fea2eb3e5d77971efebc3c76e53bb893e82c · 2026-09-15 18:50:45 -0700 · Steve

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UxvvaJ7p6VRZ4RzKDaBXqK

Files touched

Diff

commit 4dd6fea2eb3e5d77971efebc3c76e53bb893e82c
Author: Steve <steve@designerwallcoverings.com>
Date:   Tue Sep 15 18:50:45 2026 -0700

    security: add rel=noopener noreferrer to target=_blank links (yoloforever cycle 3)
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01UxvvaJ7p6VRZ4RzKDaBXqK
---
 public/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/public/index.html b/public/index.html
index b74733e..d814223 100644
--- a/public/index.html
+++ b/public/index.html
@@ -72,7 +72,7 @@ let DEALS=[];
 function assetLi(a){const[bg,lbl]=BADGE[a.rights_basis]||['#6B7280',(a.rights_basis||'').toUpperCase()];
   const href=a.source_landing_url||(a.local_path?a.local_path.replace(/^out\//,'out/'):'#');
   return `<li><span class="b" style="background:${bg}">${lbl}</span>
-   <a href="${href}" target="_blank">${a.title||a.source_name}</a>
+   <a rel="noopener noreferrer" href="${href}" target="_blank">${a.title||a.source_name}</a>
    <span class="meta">· ${a.asset_type}${a.match_confidence!=null?' · '+a.match_confidence:''}</span></li>`;}
 function card(d){return `<div class="card"><span class="price">${money(d.sale_price)}</span>
   <h2>${tc(d.address)}</h2>

← c51dbfb flyers: add visible .catch() error state on flyers.json load  ·  back to Re Flyer Aggregator  ·  auto-data-snapshot: 2026-09-16T00:24:38 (6 data files) — dat f1eac69 →