1920swallpaper
repo: ~/Projects/1920swallpaper · 94 commits · 0 in last 24h, 3 in last 7d · █▄
Search the build
94 commits indexed
4ccfaeb
2026-09-23
front-page-steward: ux-primitives bundle (grid) TK-12031
09413a8
2026-09-22
revert ux-primitives auto-apply — coordinator gates fan-out (TK-12031)
ce3edac
2026-09-22
front-page-steward: ux-primitives bundle (silent) TK-12031
05eb430
2026-09-10
auto-data-snapshot: 2026-09-10T11:43:04 (2 data files) — data/products.json package.json
b9df8dd
2026-09-10
Standardize privacy policy to /privacy.html + footer link (AdSense)
b1b8793
2026-09-10
Add AdSense-compliant privacy policy page + footer link + /privacy route
f852ad5
2026-09-09
TK-11341: add AdSense Auto-Ads loader + ads.txt (revert to remove ads)
e9001a1
2026-08-12
viewer standard: add per-field on/off menu (Fields ▾) to product grid
cf09d18
2026-08-04
fix: take infinite-scroll .loading indicator out of flow (kills ~0.3-0.4 CLS scroll-jump)
9a9de21
2026-08-04
Wire DW Meta Pixel 1431180262113856 + DW-network ad slot [ads/tracking rollout]
5831a08
2026-08-03
GA4: propagate site gtag to untagged pages (fleet coverage)
6b5edcd
2026-07-31
1920swallpaper: adopt href-to-deeper-data storefront primitives (TK-10093)
043b5b1
2026-07-30
search: scroll results into view on mobile (grid was below the fold → looked like nothing happened)
0ed0e0d
2026-07-29
corner-nav: block javascript:/data: URIs in search preview (URL-scheme allowlist)
a21313e
2026-07-29
search: /api matcher now covers title+tags+description+type+vendor+sku
a467289
2026-07-29
corner-nav: live as-you-type search with thumbnail previews (title+tags+description)
74a99c8
2026-07-06
Square product-card images (aspect-ratio 1/1)
c562973
2026-07-03
corner-nav: move login to its own hamburger in upper-left (panel slides from left)
a2ce7e9
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.
9f939f4
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)
5c0ea08
2026-06-11
1920swallpaper: rails fire again — wire to matcher + per-site railSynonyms mapping curated rail names to real tag vocab
f240a61
2026-06-09
step2 vendor-leak fix: dual-key /sample resolver + handle_display hrefs
e6cefb9
2026-06-09
snapshot before step2 codemod
b723edc
2026-06-03
Scrub residual vendor names from products.json (title/vendor/tags); preserve sku/handle
b246286
2026-06-03
seo/a11y: add visually-hidden <h1> (site name) for heading semantics — zero visual change
0b0d1d3
2026-06-03
a11y: add aria-label to contact/sample form inputs (zero visual; screen-reader association)
968dd22
2026-06-01
admin: add dw-theme-nav 20-theme navigator (upper-right, admin-only)
1e4e974
2026-06-01
fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch
eaf30bd
2026-06-01
theme: period-appropriate decade color palette (light+dark :root + accent)
aafa4b9
2026-06-01
dw-header: hide ANY pre-existing <header> (not just ns-header); title-case bare-slug names
45a519a
2026-06-01
FIX: dw-header was injected inside a doc-comment (never ran); re-inject before the real </body>
72bd7b8
2026-06-01
hero: rotate curated room-setting pool (hero-pool.json), guard >=1400px, no swatch blur
d080f23
2026-06-01
header name → domain name '1920s Wallpaper' (remove odd brand name)
169166a
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
62d8d94
2026-06-01
disable hero-4grid overlay so the unique high-res room/pattern hero shows full-bleed
f36cac6
2026-06-01
fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch
28b0cdc
2026-06-01
homepage: collapse duplicated 'Ideas' rail-eyebrows into one section eyebrow
4547e8b
2026-06-01
Unique hero image (backsync from prod, fleet hero dedup 2026-06-01)
05372d1
2026-06-01
Re-add Big Red embed (revert conflicted; re-injected)
729df77
2026-06-01
fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local pilot branch
c59f1a3
2026-06-01
hero: activate self-contained 2x2 hero-4grid (fleet sweep, local)
6247611
2026-06-01
Remove Big Red widget — never UX-worked, collided with Help pill (fleet sweep)
bcb7468
2026-06-01
add 301 redirect from legacy .html URLs to clean-URL form
ca80344
2026-06-01
fix /api/facets to count the filtered result set, not the whole catalog
7524515
2026-05-30
fix: block .bak-* backup file leaks from express.static
ceaec19
2026-05-29
feat(fleet): theme1/theme2 query-param-gated toggle on catalog page
c56687e
2026-05-28
scrub vendor name leaks from products.json source (51 products: title/vendor/tags cleaned per sku-redact denylist)
97ca526
2026-05-26
frontend: cleanSku() strips vendor names from displayed sku (.ven/list/detail) + defer renderRailSections call (fix ReferenceError) — click-through verified
4817f01
2026-05-26
sku-redact: wire shared vendor-id display scrubber
9a65133
2026-05-26
Revert "rails: tag-aware via shared rail-match helper + editorial LABELS (rescue flat grid)"
73c49ec
2026-05-26
rails: tag-aware via shared rail-match helper + editorial LABELS (rescue flat grid)
4b5511f
2026-05-26
rails: editorial labels for firing aesthetic buckets
c9238f6
2026-05-26
homepage: render 4 tag-bucket rails (art deco/geometric/sophisticated/modern) so single-aesthetic catalog gets meaningful segmentation
03a9aa0
2026-05-26
wire api-vendor-redact middleware (close vendors-facet leak)
70d6bf4
2026-05-25
retag aesthetic from PG: 113 rows updated
d873608
2026-05-20
add: pre-stage Meta Pixel snippet (placeholder; flip via _dw-batch set-fb-pixel.sh)
81294d1
2026-05-19
make server.js self-contained — gate _shared/admin-catalog behind MICROSITE_ADMIN_ENABLED env flag (kamatera deploy unblock)
47e9bd6
2026-05-19
Phase 2b: harden .card .pat against long-token title clipping (overflow-wrap)
ef0ad19
2026-05-19
fix: null-guard dead #theme-toggle reference (clean console + immediate grid render)
8cbf03d
2026-05-19
Phase 2: mobile-ready + tap-to-reveal
c2da702
2026-05-19
stage2: wire microsite catalog + admin CRUD + grid/list view
8202633
2026-05-19
fix: harden external _blank links with noopener noreferrer
a55000d
2026-05-19
fix: remove dead /vocabulary nav link — no such page exists
48127d8
2026-05-19
chore: untrack .bak/.pre- snapshot files + 404-guard against serving them
c57ed2b
2026-05-19
fix: /api/facets total counts niche-filtered list, not raw catalog
81662dd
2026-05-19
fix: wire sort select to server — send sort param + hydrate before first grid load
8c9791b
2026-05-14
hero-4grid: relocate json from data/ to public/ for Express static
91f23d4
2026-05-14
4-grid hero: drop-in script + crop CSS + initial 4 newest products
26864d8
2026-05-14
favicon: Mag-7-inspired SVG glyph
3c8fe69
2026-05-13
fix env wiring — anchor dotenv to __dirname so .env loads even when pm2 cwd is wrong
06559ec
2026-05-13
corner-nav: title-case the brand name even when .ns-name source is lowercase
c68e24c
2026-05-13
corner-nav: title-case brand display (e.g. corkwallcovering → Cork Wallcovering)
1998187
2026-05-13
corner-nav: fix injection — script tag was landing inside HTML comment, now anchored to real </body>
5e1fc45
2026-05-13
embed Big Red customer chat (lower-left, retail mode, vendor-redacted)
715db07
2026-05-13
chip-click → product details modal; vendor redacted in card overlay
be232f5
2026-05-13
add universal corner-nav.js (UR 4-icon: bag/account/search/menu)
77ff4e1
2026-05-13
remove stray contact modal markup that was rendering inline on the page
64b449b
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.
3b8af3f
2026-05-13
brand: replace remaining fake brand globally → '1920swallpaper' across head/meta/wordmark/footer — enforces MEMORY brand-stem rule
3c7fa48
2026-05-13
brand: <title> uses domain stem '1920swallpaper' (was 'Bouclé Maison') — enforces MEMORY brand-stem rule
d98162f
2026-05-11
fleet-grid refine: chip_uniform_aspect (1920swallpaper)
f1144fc
2026-05-11
snapshot before fleet-grid refine tick 3
0a4d4f8
2026-05-10
sort-skill UI: add Light→Dark / Dark→Light / Color Wheel options
dda29b7
2026-05-10
sort-skill canonical: add light-dark/dark-light/wheel + helpers
9105f38
2026-05-07
Scrub Designer Wallcoverings from products.json (vendor/imageAlt/tags)
017d9ae
2026-05-07
graphic-loop pass 13: real footer brand + Facebook link + OG/Twitter meta tags
0785506
2026-05-07
graphic-loop pass 12: niche keyword filter (no off-niche products like 'solid' on patterned sites)
f7304ce
2026-05-07
graphic-loop pass 11: add Ideas rails (New this week + Curated picks) above main grid
5d88a1f
2026-05-07
graphic-loop pass 10: center-mark to top + readable text-shadow + tighter letter-spacing (no mix-blend-mode)
7c74bca
2026-05-07
graphic-loop pass 9: real site name + 20-image hero rotation + 2400px hero res
05ceed8
2026-05-06
graphic-loop pass 5 override: Josefin Sans (panel: theme-fit correction over Cormorant Garamond)
adeb83c
2026-05-06
graphic-loop pass 5: serif hero typography (Cormorant Garamond) + nav legibility (qwen3 unanimous)
20fdf07
2026-05-06
graphic-loop pass 2: fix .corner-mark contrast + soften hero overlay (qwen3:14b consensus across fleet)
631bb0a
2026-05-06
initial snapshot — gitify all builds (CLAUDE.md rule 2026-05-06)
Authors
Steve 89 front-page-steward 3 auto-commit-fleet 1 steve 1
Skills used
/products 3 /tags 3 /privacy 2 /sample 2 /vendor 2 /body 2 /facets 2 /index 2 /list 2 /vocabulary 2 /off 1 /tracking 1 /data 1 /handle 1 /a11y 1 /ideas 1 /json 1 /pattern 1 /theme2 1 /detail 1 /geometric 1 /sophisticated 1 /modern 1 /admin-catalog 1 /history 1 /sourcing 1 /trade 1 /account 1 /search 1 /menu 1
Creative ideas + design notes
Commits with substantial prose (≥120 chars) — the rationale behind each move.
7524515 · 2026-05-30 · fix: block .bak-* backup file leaks from express.static
- Delete public/index.html.bak-20260526152130 (leaked 200 via express.static)
- Fix 404-guard regex: \.(bak|orig)(\.|$) missed bak-TIMESTAMP filenames; updated to \.(bak(-[^/]*)?|orig)(\.|$)
- Add *.bak-* pattern to .gitignore to prevent future timestamped bak files from being committed
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ceaec19 · 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.
70d6bf4 · 2026-05-25 · retag aesthetic from PG: 113 rows updated
before: all=113
after: art-deco=113
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>
8202633 · 2026-05-19 · fix: harden external _blank links with noopener noreferrer
Added noreferrer to the Facebook link rel and passed noopener,noreferrer
as the window.open feature string for the cross-site DW-universe nav.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
a55000d · 2026-05-19 · fix: remove dead /vocabulary nav link — no such page exists
The footer in care/history/sourcing/trade linked to /vocabulary which
has no backing page and 404s. Removed the dead link from all four.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
48127d8 · 2026-05-19 · chore: untrack .bak/.pre- snapshot files + 404-guard against serving them
Removed 30 committed snapshot files (server.js.bak.*, public/index.html.bak.*,
data/products.json.bak.*, *.pre-* etc), broadened .gitignore to cover
*.bak/*.pre-*/*.orig, and added an Express middleware that 404s any
.bak/.pre-/.orig path before express.static can serve it.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
c57ed2b · 2026-05-19 · fix: /api/facets total counts niche-filtered list, not raw catalog
total used PRODUCTS.length (113) while the API actually serves
PRODUCTS_NICHE — facet counts and total were inconsistent.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
81662dd · 2026-05-19 · fix: wire sort select to server — send sort param + hydrate before first grid load
The sort <select> was decorative: loadGridPage() never appended the sort
param, and the hydration IIFE ran after the initial loadGridPage() call.
Now state.sort is added to the API params and hydrated from localStorage
before the first load.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
9105f38 · 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
28 files tracked. Click any to browse the source at HEAD.
rendered in 1ms