Architecturalwallcoverings
repo: ~/Projects/architecturalwallcoverings · 98 commits · 0 in last 24h, 3 in last 7d · █▄
Search the build
98 commits indexed
8355df7
2026-09-23
front-page-steward: ux-primitives bundle (grid) TK-12031
1cc46af
2026-09-22
revert ux-primitives auto-apply — coordinator gates fan-out (TK-12031)
ff5b502
2026-09-22
front-page-steward: ux-primitives bundle (silent) TK-12031
a6a68b3
2026-09-10
Add clean /privacy route (AdSense URL consistency)
12c5397
2026-09-10
Standardize privacy policy to /privacy.html + footer link (AdSense)
fe1a014
2026-09-10
Add AdSense-compliant privacy policy page + footer link + /privacy route
7498754
2026-09-09
TK-11341: add AdSense Auto-Ads loader + ads.txt (revert to remove ads)
047f931
2026-08-24
auto-data-snapshot: 2026-08-24T04:13:07 (1 data files) — server.js.ldrbak.1787569812
754d81c
2026-08-24
Add p.visible!==false guard to product load filter (cluster5 resid)
8840c81
2026-08-22
auto-data-snapshot: 2026-08-22T11:19:22 (1 data files) — data/products.json
d5e27d1
2026-08-12
viewer standard: add per-field on/off menu (Fields ▾) to product grid
05d8f6c
2026-08-04
fix: take infinite-scroll .loading indicator out of flow (kills ~0.3-0.4 CLS scroll-jump)
45b7480
2026-08-04
Wire DW Meta Pixel 1431180262113856 + DW-network ad slot [ads/tracking rollout]
6bb8a84
2026-08-03
GA4: propagate site gtag to untagged pages (fleet coverage)
8838485
2026-08-01
architecturalwallcoverings: adopt href-to-deeper-data storefront primitives (TK-10093)
d3289bc
2026-07-30
search: scroll results into view on mobile (grid was below the fold → looked like nothing happened)
978bbe1
2026-07-29
corner-nav: block javascript:/data: URIs in search preview (URL-scheme allowlist)
d2df58f
2026-07-29
search: /api matcher now covers title+tags+description+type+vendor+sku
be4c76f
2026-07-29
corner-nav: live as-you-type search with thumbnail previews (title+tags+description)
a177e17
2026-07-06
Square product-card images (aspect-ratio 1/1)
3c4c62d
2026-07-03
corner-nav: move login to its own hamburger in upper-left (panel slides from left)
d3171d2
2026-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.
45d83ca
2026-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)
d3bb536
2026-06-11
architecturalwallcoverings: rails fire again — wire sliders + grid filter to aesthetic-OR-tags matcher (prod-safe try-require + inline fallback)
7f8843a
2026-06-09
step2 vendor-leak fix: dual-key /sample resolver + handle_display hrefs
0fce290
2026-06-04
track hero-pool.json — runtime data file fetched by index.html (3 room heroes, all 200)
720d574
2026-06-03
Scrub residual vendor names from products.json (title/vendor/tags); preserve sku/handle
cb218dc
2026-06-03
seo/a11y: add visually-hidden <h1> (site name) for heading semantics — zero visual change
3331ed1
2026-06-03
a11y: add aria-label to contact/sample form inputs (zero visual; screen-reader association)
54822f7
2026-06-01
admin: add dw-theme-nav 20-theme navigator (upper-right, admin-only)
ab57049
2026-06-01
fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch
2468ccd
2026-06-01
dw-header: hide ANY pre-existing <header> (not just ns-header); title-case bare-slug names
cb766ee
2026-06-01
FIX: dw-header was injected inside a doc-comment (never ran); re-inject before the real </body>
a23900d
2026-06-01
hero: rotate curated room-setting pool (hero-pool.json), guard >=1400px, no swatch blur
4eeb330
2026-06-01
header name → domain name 'Architectural Wallcoverings' (remove odd brand name)
dfb1845
2026-06-01
header A-rebuild: dw-header.js wins fleet — patched to hide original header + corner-nav + v1, fix centered site-name (title fallback), add theme toggle; v1 removed from index
64c14be
2026-06-01
header: remove dw-header.js — fixes overlapping hamburgers (DW-HAMBURGER-NAV v1 sole nav); fleet regression sweep
d3f40c3
2026-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
ced8d21
2026-06-01
disable hero-4grid overlay so the unique high-res room/pattern hero shows full-bleed
8714ff7
2026-06-01
fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch
2380254
2026-06-01
header: remove dw-header.js — fixes overlapping hamburgers (DW-HAMBURGER-NAV v1 sole nav); same fleet regression as wallpaperglossary
2f5cdc8
2026-06-01
homepage: collapse duplicated 'Ideas' rail-eyebrows into one section eyebrow
851b36f
2026-06-01
Unique hero image (backsync from prod, fleet hero dedup 2026-06-01)
b739b8b
2026-06-01
Re-add Big Red embed (revert conflicted; re-injected)
e22d837
2026-06-01
fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local pilot branch
c0d4404
2026-06-01
hero: activate self-contained 2x2 hero-4grid (fleet sweep, local)
9ff0e6d
2026-06-01
Remove Big Red widget — never UX-worked, collided with Help pill (fleet sweep)
14ab3bd
2026-06-01
fix: add noopener,noreferrer to sister-site window.open popup
6ad1935
2026-06-01
fix: /api/facets counts the active filtered set (drill-down) not whole niche catalog; 301 legacy .html paths to clean URLs; sitemap lists canonical clean URLs
a8da0ee
2026-05-30
fix: bak-guard regex misses *.bak-* filenames; rm leaked public/index.html.bak snapshot
8bf54d2
2026-05-29
feat(fleet): theme1/theme2 query-param-gated toggle on catalog page
8fa1647
2026-05-28
scrub vendor name leaks from products.json source (241 products: title/vendor/tags cleaned per sku-redact denylist)
6102a02
2026-05-26
frontend: cleanSku() strips vendor names from displayed sku (.ven/list/detail) + defer renderRailSections call (fix ReferenceError) — click-through verified
f050f60
2026-05-26
sku-redact: wire shared vendor-id display scrubber
9ec45eb
2026-05-26
rails: editorial labels for firing aesthetic buckets
d6a6c08
2026-05-26
wire api-vendor-redact middleware (close vendors-facet leak)
d70c8be
2026-05-25
chore: add noreferrer to Facebook external link
2c79e24
2026-05-25
feat: add .bak/.pre- 404 guard + clean-URL routes for nav
5a7d21b
2026-05-25
fix: /api/facets total now reflects niche-filtered list served
5818e0c
2026-05-25
snapshot before refactor pass
6c9eaae
2026-05-25
retag aesthetic from PG: 595 rows updated
5c3aeba
2026-05-20
add: pre-stage Meta Pixel snippet (placeholder; flip via _dw-batch set-fb-pixel.sh)
8175829
2026-05-20
fix: /about → history.html alias (was 404)
121e407
2026-05-19
make server.js self-contained — gate _shared/admin-catalog behind MICROSITE_ADMIN_ENABLED env flag (kamatera deploy unblock)
2a67c6d
2026-05-19
Phase 2b: harden .card .pat against long-token title clipping (overflow-wrap)
882f9e2
2026-05-19
fix: null-guard dead #theme-toggle reference (clean console + immediate grid render)
b25654e
2026-05-19
Phase 2: mobile-ready + tap-to-reveal
02d520e
2026-05-19
stage2: wire microsite catalog + admin CRUD + grid/list view
4f2adf4
2026-05-18
untrack 30 stale .bak/.pre-* snapshots from git index
8764206
2026-05-18
sitemap.xml: include the real static content pages
753811e
2026-05-18
untrack 30 stale .bak/.pre-* snapshots (25 served from public/) and ignore the pattern
9609ab0
2026-05-18
fix non-functional sort select — pass state.sort to /api/products
4f1b26a
2026-05-14
hero-4grid: relocate json from data/ to public/ for Express static
359ce6c
2026-05-14
4-grid hero: drop-in script + crop CSS + initial 4 newest products
11b9c87
2026-05-14
favicon: Mag-7-inspired SVG glyph
67930b9
2026-05-13
fix env wiring — anchor dotenv to __dirname so .env loads even when pm2 cwd is wrong
ec8be40
2026-05-13
corner-nav: title-case the brand name even when .ns-name source is lowercase
1e5566c
2026-05-13
corner-nav: title-case brand display (e.g. corkwallcovering → Cork Wallcovering)
e481eb9
2026-05-13
embed Big Red customer chat (lower-left, retail mode, vendor-redacted)
f94f264
2026-05-13
chip-click → product details modal; vendor redacted in card overlay
7a6d136
2026-05-13
add universal corner-nav.js (UR 4-icon: bag/account/search/menu)
eec3b22
2026-05-13
remove stray contact modal markup that was rendering inline on the page
7bead11
2026-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.
cbd3032
2026-05-13
brand: replace remaining fake brand globally → 'architecturalwallcoverings' across head/meta/wordmark/footer — enforces MEMORY brand-stem rule
6165497
2026-05-11
hamburger nav: apply canonical pattern from sister-site fleet
023ebb2
2026-05-10
snapshot before fleet-grid refine
6da4708
2026-05-10
sort-skill UI: add Light→Dark / Dark→Light / Color Wheel options
e13de78
2026-05-10
sort-skill canonical: add light-dark/dark-light/wheel + helpers
55146be
2026-05-07
Scrub Designer Wallcoverings from products.json (vendor/imageAlt/tags)
31fe5be
2026-05-07
graphic-loop pass 13: real footer brand + Facebook link + OG/Twitter meta tags
610d950
2026-05-07
graphic-loop pass 12: niche keyword filter (no off-niche products like 'solid' on patterned sites)
445b020
2026-05-07
graphic-loop pass 11: add Ideas rails (New this week + Curated picks) above main grid
0559f8c
2026-05-07
graphic-loop pass 10: center-mark to top + readable text-shadow + tighter letter-spacing (no mix-blend-mode)
e86bb68
2026-05-07
graphic-loop pass 9: real site name + 20-image hero rotation + 2400px hero res
3fca73e
2026-05-07
graphic-loop pass 8: theme-aware font Inter (panel-approved comprehensive 16-bucket assignment)
16f3d3b
2026-05-06
graphic-loop pass 5: serif hero typography (Cormorant Garamond) + nav legibility (qwen3 unanimous)
3b6d990
2026-05-06
graphic-loop pass 2: fix .corner-mark contrast + soften hero overlay (qwen3:14b consensus across fleet)
84d27e4
2026-05-06
initial snapshot — gitify all builds (CLAUDE.md rule 2026-05-06)
Authors
Steve 92 front-page-steward 3 auto-commit-fleet 2 steve 1
Skills used
/products 4 /privacy 3 /tags 3 /sample 2 /vendor 2 /facets 2 /list 2 /off 1 /tracking 1 /data 1 /handle 1 /a11y 1 /body 1 /ideas 1 /json 1 /pattern 1 /index 1 /theme2 1 /detail 1 /care 1 /history 1 /vocabulary 1 /sourcing 1 /trade 1 /about 1 /admin-catalog 1 /account 1 /search 1 /menu 1 /meta 1
Creative ideas + design notes
Commits with substantial prose (≥120 chars) — the rationale behind each move.
a8da0ee · 2026-05-30 · fix: bak-guard regex misses *.bak-* filenames; rm leaked public/index.html.bak snapshot
The defense-in-depth middleware regex `\.(bak)(\.|$)` only blocked `.bak.`
or `.bak` at end-of-string, so timestamped snapshots like
`index.html.bak-20260526152130` were served with HTTP 200. Fixed regex to
also match `.bak-` delimiter. Removed the leaked backup file from public/.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
8bf54d2 · 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.
d70c8be · 2026-05-25 · chore: add noreferrer to Facebook external link
target=_blank external link was missing the noreferrer half of the
rel attribute (had noopener only).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2c79e24 · 2026-05-25 · feat: add .bak/.pre- 404 guard + clean-URL routes for nav
- Express middleware now returns 404 for any path matching *.bak,
*.bak.*, or *.pre-* so untracked snapshot files in public/ (or
accidentally tracked ones in the future) never serve.
- Adds clean-URL routes /care, /history, /vocabulary, /sourcing, /trade
that sendFile the matching .html. Every interior nav already links
to these extensionless paths but Express static was 404-ing them.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5a7d21b · 2026-05-25 · fix: /api/facets total now reflects niche-filtered list served
Previously reported the raw PRODUCTS.length (600), but only the niche-
filtered 518 are actually returned to the grid via /api/products. The
total now matches what users see and what the per-aesthetic counts sum to.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6c9eaae · 2026-05-25 · retag aesthetic from PG: 595 rows updated
before: all=600
after: all=5, beige=60, contemporary=68, textured=409, traditional=44, white=14
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>
55146be · 2026-05-07 · Scrub Designer Wallcoverings from products.json (vendor/imageAlt/tags)
Replaced literal 'Designer Wallcoverings' (vendor field, imageAlt suffix,
and tag arrays) with site brand_name. The static HTML was already clean,
but Browserbase rendered-page check found these JS-injected strings.
Now: 0 DW leaks rendered.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
File tree
27 files tracked. Click any to browse the source at HEAD.
rendered in 2ms