Silkwallcoverings
Search the build
-
8db4ffe2026-09-23 front-page-steward: ux-primitives bundle (grid) TK-12031 -
6c42db52026-09-22 revert ux-primitives auto-apply — coordinator gates fan-out (TK-12031) -
b6b03c42026-09-22 front-page-steward: ux-primitives bundle (silent) TK-12031 -
36c94452026-09-10 Add clean /privacy route (AdSense URL consistency) -
868f7872026-09-10 Standardize privacy policy to /privacy.html + footer link (AdSense) -
a14af992026-09-10 Add AdSense-compliant privacy policy page + footer link + /privacy route -
35ffd0f2026-09-09 TK-11341: add AdSense Auto-Ads loader + ads.txt (revert to remove ads) -
056715c2026-08-22 auto-data-snapshot: 2026-08-22T11:19:22 (1 data files) — data/products.json -
50dd0282026-08-12 auto-data-snapshot: 2026-08-12T11:28:02 (1 data files) — package-lock.json -
ef5f85e2026-08-12 chore: version bump v0.1.2 (session close — niche-filter fix) -
d7c473c2026-08-12 silkwallcoverings: title-required silk filter — drop tag-only non-silk (bamboo/paper-weave) per Cody gate -
a1732f22026-08-12 silkwallcoverings: add silk niche filter — drop non-silk fibres (abaca/linen/grasscloth leaked; no nicheFit before) -
6abaf0f2026-08-12 viewer standard: add per-field on/off menu (Fields ▾) to product grid -
7604f912026-08-04 fix: take infinite-scroll .loading indicator out of flow (kills ~0.3-0.4 CLS scroll-jump) -
9a0d58c2026-08-04 Wire DW Meta Pixel 1431180262113856 + DW-network ad slot [ads/tracking rollout] -
e650a3d2026-08-03 GA4: propagate site gtag to untagged pages (fleet coverage) -
4cb6e752026-08-01 silkwallcoverings: adopt href-to-deeper-data storefront primitives (TK-10093) -
870e7b02026-07-30 chore: v0.1.1 (session close — hero silk fix) -
5cc00f72026-07-30 hero: fix doubled trailing S in center wordmark (silkwallcoveringsS -> silkwallcoverings) -
2e9feba2026-07-30 hero: use Tavernier Blue silk (dramatic navy, best wordmark contrast) over the neutral taupe -
4bece022026-07-30 hero: replace off-brand floral-print hero with genuine silk (Burnished Silk Truffle); retire dead grasscloth room-render pool; fix garbled title tag -
4a5592b2026-07-30 catalog: scope to real on-domain products only (remove off-material leaks) -
d9767e32026-07-30 search: scroll results into view on mobile (grid was below the fold → looked like nothing happened) -
c9e9c622026-07-29 corner-nav: block javascript:/data: URIs in search preview (URL-scheme allowlist) -
90ebf1c2026-07-29 search: /api matcher now covers title+tags+description+type+vendor+sku -
dff859c2026-07-29 corner-nav: live as-you-type search with thumbnail previews (title+tags+description) -
f4bea452026-07-06 Square product-card images (aspect-ratio 1/1) -
cd740f72026-07-03 corner-nav: move login to its own hamburger in upper-left (panel slides from left) -
8da692f2026-06-19 Mount new-arrivals promo strip (Tier B): require ../_shared/_universal-promo-banner before express.static — text-only rotating 'New · <product> →' banner from /api/products?sort=newest. Local only; deploy gated. -
a3742cf2026-06-18 fix: safeImg allow same-origin /img/ proxy urls (vendor-neutral image proxy 2026-06-03) — product cards were falling back to hero-bg (images all wrong) -
a7b539d2026-06-11 Recompute aesthetic from tags via classifyAesthetic (was degenerate 'all' snapshot) -
6b9d6ca2026-06-09 step2 vendor-leak fix: dual-key /sample resolver + handle_display hrefs -
bf3cda42026-06-09 snapshot before step2 codemod -
bd4b4a42026-06-03 seo: add og:image + twitter card (social-share preview) — zero visual -
58a6f4b2026-06-03 Scrub residual vendor names from products.json (title/vendor/tags); preserve sku/handle -
558d0c02026-06-03 seo/a11y: add visually-hidden <h1> (site name) for heading semantics — zero visual change -
0cb5f6c2026-06-03 a11y: add aria-label to contact/sample form inputs (zero visual; screen-reader association) -
9e427472026-06-01 admin: add dw-theme-nav 20-theme navigator (upper-right, admin-only) -
96ca9a02026-06-01 catalog: fill from Shopify (silkwallcoverings niche) -
0dc24642026-06-01 fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch -
368fb302026-06-01 dw-header: hide ANY pre-existing <header> (not just ns-header); title-case bare-slug names -
be568b72026-06-01 FIX: dw-header was injected inside a doc-comment (never ran); re-inject before the real </body> -
9bf197f2026-06-01 header name → domain name 'Silk Wallcoverings' (remove odd brand name) -
018c2902026-06-01 hero: huge 2520px clean hero from dw_unified (graphic-designer vetted; no header/text/watermark) -
89013872026-06-01 hero/ideas: single big full-bleed hero (remove 2x2 four-square grid + hero-4grid.js/json + inert CSS), collapse Ideas to one rail -
ac7d72b2026-06-01 fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch -
fdc91132026-06-01 Re-add Big Red embed (revert conflicted; re-injected) -
946c02a2026-06-01 fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local pilot branch -
d8a3db82026-06-01 Remove Big Red widget — never UX-worked, collided with Help pill (fleet sweep) -
a11fb5a2026-06-01 301-redirect legacy .html pages to clean URLs (kill duplicate-content from static dir) -
02575fa2026-05-30 fix: remove leaked bak file from public/ and patch 404-guard regex to block bak-TIMESTAMP filenames -
03913442026-05-29 feat(fleet): theme1/theme2 query-param-gated toggle on catalog page -
b9b9cac2026-05-28 scrub vendor name leaks from products.json source (4 products: title/vendor/tags cleaned per sku-redact denylist) -
43f849b2026-05-26 frontend: cleanSku() strips vendor names from displayed sku (.ven/list/detail) + defer renderRailSections call (fix ReferenceError) — click-through verified -
3b37b512026-05-26 sku-redact: wire shared vendor-id display scrubber -
9abb9ab2026-05-26 rails: tag-aware facet filter (productInRail) so rail drill-down + pills return products (fix regression) -
1ec7c632026-05-26 rails: tag-aware via shared rail-match helper + editorial LABELS (fix degenerate single-rail) -
d8868552026-05-26 rails: editorial labels for firing aesthetic buckets -
30c767e2026-05-26 rails: wire /api/sliders into horizontal scroll-snap rail sections [fixed] -
ae0ab5a2026-05-25 wire api-vendor-redact middleware as first app.use so /api/* responses strip vendor field + vendors facet and drop ?vendor= query -
a5f0ebe2026-05-25 add noopener,noreferrer to window.open(_blank) sister-site links to prevent opener tampering -
dd4f28a2026-05-25 add clean-URL routes for /care /history /sourcing /trade /vocabulary so nav links resolve without .html (matches existing href values) -
4f69bb52026-05-25 add 404-guard middleware so backup files (.bak/.pre-*) never leak via express.static even if accidentally copied into public/ -
04ede702026-05-25 /api/facets total now reflects FILTERED count (honors q/aesthetic/vendor query) instead of full PRODUCTS.length -
e81c98e2026-05-25 hydrate saved sort before first grid load so initial /api/products request honors persisted choice -
02548e72026-05-25 retag aesthetic from PG: 47 rows updated -
471afe42026-05-20 add: pre-stage Meta Pixel snippet (placeholder; flip via _dw-batch set-fb-pixel.sh) -
b6386d92026-05-20 fix: /about → history.html alias (was 404) -
b3c8bd52026-05-19 make server.js self-contained — gate _shared/admin-catalog behind MICROSITE_ADMIN_ENABLED env flag (kamatera deploy unblock) -
7ab1bf72026-05-19 wire state.sort into loadGridPage /api/products URL (fleet sort fanout) -
8ab97ef2026-05-19 Phase 2b: harden .card .pat against long-token title clipping (overflow-wrap) -
c590d8c2026-05-19 fix: null-guard dead #theme-toggle reference (clean console + immediate grid render) -
a6d8e702026-05-19 Phase 2: mobile-ready + tap-to-reveal -
01213fc2026-05-19 stage2: wire microsite catalog + admin CRUD + grid/list view; repair dead facets -
18d5db82026-05-18 remove dead leftover comment in /api/products handler -
99f8d322026-05-18 untrack 18 stale .bak/.pre-* snapshot files (16 served publicly from public/) + extend .gitignore to cover them -
6f5c4ff2026-05-14 hero-4grid: relocate json from data/ to public/ for Express static -
c17f8d62026-05-14 4-grid hero: drop-in script + crop CSS + initial 4 newest products -
31cda232026-05-14 favicon: Mag-7-inspired SVG glyph -
60197fd2026-05-13 fix env wiring — anchor dotenv to __dirname so .env loads even when pm2 cwd is wrong -
ad249802026-05-13 corner-nav: title-case the brand name even when .ns-name source is lowercase -
6c4ffad2026-05-13 corner-nav: title-case brand display (e.g. corkwallcovering → Cork Wallcovering) -
45ecb7e2026-05-13 corner-nav: fix injection — script tag was landing inside HTML comment, now anchored to real </body> -
ac95fa52026-05-13 embed Big Red customer chat (lower-left, retail mode, vendor-redacted) -
d181ecf2026-05-13 chip-click → product details modal; vendor redacted in card overlay -
00013262026-05-13 add universal corner-nav.js (UR 4-icon: bag/account/search/menu) -
baf65b62026-05-13 remove stray contact modal markup that was rendering inline on the page -
65d666b2026-05-13 header: remove duplicate <header> with dwmOpen-contact (was overlapping ns-header) + add display:none default to .ns-modal so How-can-we-help only opens on click. Restores canonical logo-UL + hamburger-UR layout per MEMORY rule. -
6b5e4ac2026-05-13 brand: replace remaining fake brand globally → 'silkwallcoverings' across head/meta/wordmark/footer — enforces MEMORY brand-stem rule -
45e1c022026-05-13 brand: <title> uses domain stem 'silkwallcoverings' (was 'Noir Maison') — enforces MEMORY brand-stem rule -
47a83ea2026-05-11 snapshot before fleet-grid refine -
194bae32026-05-10 sort-skill UI: add Light→Dark / Dark→Light / Color Wheel options -
1fa2a052026-05-10 sort-skill canonical: add light-dark/dark-light/wheel + helpers -
76632122026-05-08 Hamburger always visible on right — propagated from novasuede a815690 -
a4a75112026-05-06 initial scaffold (gitify-all 2026-05-06)
Authors
- Steve85
- steve4
- front-page-steward3
- auto-commit-fleet2
- Claude1
Agents used
Skills used
- /products5
- /privacy3
- /vendor3
- /sample2
- /tags2
- /body2
- /list2
- /paper-weave1
- /linen1
- /grasscloth1
- /off1
- /tracking1
- /hero-bg1
- /twitter1
- /data1
- /handle1
- /a11y1
- /text1
- /watermark1
- /ideas1
- /json1
- /index1
- /theme21
- /detail1
- /sliders1
- /care1
- /history1
- /sourcing1
- /trade1
- /vocabulary1
Creative ideas + design notes
4bece02 · 2026-07-30 · hero: replace off-brand floral-print hero with genuine silk (Burnished Silk Truffle); retire dead grasscloth room-render pool; fix garbled title tag
- hero-bg.jpg was a flat printed-floral wallpaper (wrong product + orrible photo per Steve); swapped to a real plain-silk swatch with sheen from the catalog ($0, no AI gen) - hero-pool.json pointed at 3 defective grasscloth room renders that the live HTML does not even read (dead legacy) -> repointed to /hero-bg.jpg so they can't resurface - title/og/twitter title were 'silkwallcoverings — SILK — IN BLACK.' -> 'Silk Wallcoverings — Pure silk, on the wall.'
02575fa · 2026-05-30 · fix: remove leaked bak file from public/ and patch 404-guard regex to block bak-TIMESTAMP filenames
public/index.html.bak-20260526152130 was being served via express.static because the 404-guard regex only matched .bak and .bak.\d+ (dot-separated) patterns, not the bak-TIMESTAMP (hyphen) variant produced by the deploy script. Deleted the file and updated the guard to /\.bak([.-]|$)/ which catches all variants. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
0391344 · 2026-05-29 · feat(fleet): theme1/theme2 query-param-gated toggle on catalog page
Default: theme1, toggle hidden. Opt-in via ?theme=2 or localStorage
('wallco-page-theme' key shared across the fleet). Same gate pattern
as dw-domain-fleet productPage.
02548e7 · 2026-05-25 · retag aesthetic from PG: 47 rows updated
before: all=50 after: all=3, architectural=15, durable=32 Backfills correct multi-bucket aesthetic tagging from dw_unified.microsite_products (DTD verdict B, 2026-05-25 fleet retag run). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
7663212 · 2026-05-08 · Hamburger always visible on right — propagated from novasuede a815690
Standing rule in ~/.claude/skills/dw-site-build/SKILL.md (added today): every DW-family site ships with hamburger ALWAYS visible on the right, inline nav collapses into drop-panel at all viewports. Premium-minimal pattern (Aesop / Hermès / Apple Music). Same edit as novasuede: - ns-header media-query collapse rules unwrapped to apply at all widths - second .mobile-toggle block (legacy 'header .mobile-toggle' selector) also unwrapped from the <760px gate Reversible: re-wrap both blocks in @media (max-width: 760px) and restore the @media (min-width: 761px) display:none override. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
File tree
- .gitignore
- _universal-auth.js
- _universal-contact.js
- data/products.json
- package-lock.json
- package.json
- public/ads.txt
- public/care.html
- public/corner-nav.js
- public/drill.js
- public/dw-header.js
- public/dw-theme-nav.js
- public/favicon.svg
- public/hero-bg.jpg
- public/hero-pool.json
- public/history.html
- public/index.html
- public/privacy.html
- public/sku-redact.js
- public/sourcing.html
- public/trade.html
- public/ux-primitives.bundle.css
- public/ux-primitives.bundle.js
- public/vocabulary.html
- server.js
- site.config.json