[object Object]

← back to Apartmentwallpaper

Pre-warm /img token map at boot (close cold-start 404 window): register all image tokens after catalog load so direct /img/<token> hits resolve immediately after a pm2 restart

f2ab8c8e24d65c655b92537f41e817db2e4f5a9b · 2026-06-16 18:25:33 -0700 · Steve Abrams

Files touched

Diff

commit f2ab8c8e24d65c655b92537f41e817db2e4f5a9b
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Tue Jun 16 18:25:33 2026 -0700

    Pre-warm /img token map at boot (close cold-start 404 window): register all image tokens after catalog load so direct /img/<token> hits resolve immediately after a pm2 restart
---
 server.js | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/server.js b/server.js
index d4b3207..0cfdd8e 100644
--- a/server.js
+++ b/server.js
@@ -299,6 +299,12 @@ if (catalog) catalog.mount(app, { siteSlug: SITE_SLUG, rails: SITE_RAILS });
   PRODUCTS_NICHE = PRODUCTS.filter(nicheFit);
   console.log(`[${__SITE}] niche filter: kept ${PRODUCTS_NICHE.length} of ${PRODUCTS.length}`);
   buildSampleDisplayMap(); // Step 2: redacted->raw /sample resolver keys
+  // Pre-warm the vendor-neutral /img token map so direct /img/<token> hits resolve
+  // immediately after a restart (closes the cold-start 404 window).
+  try {
+    const warmed = require('../_shared/api-vendor-redact').warm(PRODUCTS);
+    console.log(`[${__SITE}] /img token map pre-warmed: ${warmed} entries`);
+  } catch (e) { console.error(`[${__SITE}] /img warm skipped: ${e.message}`); }
   app.listen(PORT, '127.0.0.1', () => {
     console.log(`apartmentwallpaper listening on http://127.0.0.1:${PORT}`);
   });

← 9c0a8ae Ideas rail: route through safeImg()+escAttr() (XSS hygiene p  ·  back to Apartmentwallpaper  ·  Mount new-arrivals promo strip (Tier B): require ../_shared/ 877e37d →