← back to All Designerwallcoverings
all.: repoint Phillipe Romano line-viewer off dead philliperomano.dw to live DW Shopify collection (crawl-resistant override)
e98a86b769f8a3ffe41b6d9f4b666c2e1b0bd79f · 2026-08-10 16:05:51 -0700 · steve
Files touched
Diff
commit e98a86b769f8a3ffe41b6d9f4b666c2e1b0bd79f
Author: steve <steve@designerwallcoverings.com>
Date: Mon Aug 10 16:05:51 2026 -0700
all.: repoint Phillipe Romano line-viewer off dead philliperomano.dw to live DW Shopify collection (crawl-resistant override)
---
server.js | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/server.js b/server.js
index 2f649c0..b582a74 100644
--- a/server.js
+++ b/server.js
@@ -257,6 +257,18 @@ let VENDOR_VIEWER = new Map(); // slugify(vendor) / slug → internal line-view
let VENDOR_ITEM = new Map(); // slugify(vendor) / slug → { url, handles:Set } — the microsite's FULL handle set;
// "This Item" deep-links resolve ONLY when the row's handle is IN that set.
+// Line-viewer OVERRIDES (crawl-resistant). buildVendorViewer() derives the viewer map from the
+// live crawl artifact, but a stale artifact can pin a vendor to a subdomain that has since gone
+// dead (e.g. the crawler last saw philliperomano.dw at 200, then the app died → 000, yet the
+// artifact still reads up:true and every Phillipe Romano cork card links to the dead host). These
+// entries are applied LAST in buildVendorViewer(), so they win over whatever the crawl produced.
+// Keyed by slugify(vendor). Value must be a resolving, customer-facing destination.
+const VENDOR_VIEWER_OVERRIDE = {
+ // Phillipe Romano (incl. the Greenland cork line, private-labeled as Phillipe Romano) → the
+ // real live DW Shopify collection, NOT the dead philliperomano.designerwallcoverings.com app.
+ 'phillipe-romano': `${STOREFRONT}/collections/phillipe-romano`,
+};
+
// Stored stock snapshot — the FREE /livestock path. PUBLIC-SAFE availability ONLY
// (in_stock / quantity / lead_time / as-of); cost & price columns are NEVER selected.
// Sources: the dedicated stock_checks cache ∪ every *_catalog table's in_stock/last_scraped.
@@ -388,6 +400,8 @@ function buildVendorViewer() {
if (s.slug) setBoth(String(s.slug).toLowerCase());
}
} catch { /* crawl artifact not ready yet — viewers resolve after the first crawl lands */ }
+ // Crawl-resistant overrides win over anything the artifact produced (dead/stale subdomains).
+ for (const [k, url] of Object.entries(VENDOR_VIEWER_OVERRIDE)) map.set(k, url);
VENDOR_VIEWER = map;
VENDOR_ITEM = item;
}
← ba032a8 all-designerwallcoverings: adopt href-to-deeper-data primiti
·
back to All Designerwallcoverings
·
all.: register phillipe-romano brand (Greenland cork private fca6523 →