{"slug":"fabricfriday","total":24,"limit":100,"offset":0,"since":null,"commits":[{"hash":"606ae3b","date":"2026-07-03 09:57:41 -0700","author":"Steve Abrams","subject":"corner-nav: move login to its own hamburger in upper-left (panel slides from left)","body":""},{"hash":"d7b09aa","date":"2026-06-21 17:04:14 -0700","author":"Steve","subject":"deploy: scaffold .deploy.conf for banner deploy","body":""},{"hash":"e2c8214","date":"2026-06-21 16:48:56 -0700","author":"Steve","subject":"banner: wire universal promo-banner require above express.static (officer-approved; deploy gated)","body":""},{"hash":"da15420","date":"2026-06-03 20:45:05 -0700","author":"Steve","subject":"Scrub residual vendor names from products.json (title/vendor/tags); preserve sku/handle","body":""},{"hash":"c82dba1","date":"2026-06-03 20:24:32 -0700","author":"Steve Abrams","subject":"gitignore: add missing standard excludes (.next/)","body":""},{"hash":"592f31c","date":"2026-06-01 16:12:29 -0700","author":"Steve Abrams","subject":"vendor-redact: mount api-vendor-redact middleware (was missing) — scrubs DW vendor names from /api responses per standing rule","body":""},{"hash":"fa2ef35","date":"2026-06-01 15:57:48 -0700","author":"Steve Abrams","subject":"fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch","body":""},{"hash":"5abc419","date":"2026-06-01 15:47:42 -0700","author":"Steve Abrams","subject":"dw-header: hide ANY pre-existing <header> (not just ns-header); title-case bare-slug names","body":""},{"hash":"53c9b22","date":"2026-06-01 14:49:49 -0700","author":"Steve Abrams","subject":"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","body":""},{"hash":"9979420","date":"2026-06-01 14:22:17 -0700","author":"Steve Abrams","subject":"header: remove dw-header.js — fixes overlapping hamburgers (DW-HAMBURGER-NAV v1 sole nav); fleet regression sweep","body":""},{"hash":"82ed3be","date":"2026-06-01 14:04:03 -0700","author":"Steve Abrams","subject":"fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch","body":""},{"hash":"60c2122","date":"2026-06-01 13:55:01 -0700","author":"Steve Abrams","subject":"gradient hero (unique hue 99deg) — no niche photography available","body":""},{"hash":"2ed1995","date":"2026-06-01 13:53:03 -0700","author":"Steve Abrams","subject":"gradient hero (unique hue 99deg) — no niche photography available","body":""},{"hash":"05022f4","date":"2026-06-01 13:47:36 -0700","author":"Steve Abrams","subject":"fleet rebuild (header-only): dw-header (hamburgers UL + centered name) + accent — local branch","body":""},{"hash":"cea359b","date":"2026-06-01 07:23:35 -0700","author":"Steve Abrams","subject":"scrub Lee Jofa vendor name from hero copy + product cards","body":""},{"hash":"e4c28b5","date":"2026-05-30 21:40:06 -0700","author":"Steve","subject":"scrub vendor leaks from weekly-feature products.json (hero+archive vendor/subtitle; per sku-redact denylist; DW house brands preserved)","body":""},{"hash":"300fc4b","date":"2026-05-29 13:20:41 -0700","author":"Steve Abrams","subject":"feat(fleet): theme1/theme2 query-param-gated toggle on catalog page","body":"Default: theme1, toggle hidden. Opt-in via ?theme=2 or localStorage\n('wallco-page-theme' key shared across the fleet). Same gate pattern\nas dw-domain-fleet productPage."},{"hash":"03c7e41","date":"2026-05-26 10:17:01 -0700","author":"Steve","subject":"Embed _shared/corner-nav.js (logo UL + hamburger UR) on front page","body":""},{"hash":"ab76fe7","date":"2026-05-20 00:27:39 -0700","author":"Steve","subject":"add: pre-stage Meta Pixel snippet (placeholder; flip via _dw-batch set-fb-pixel.sh)","body":"Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>"},{"hash":"e8ae740","date":"2026-05-19 17:20:30 -0700","author":"Steve Abrams","subject":"gitignore snapshot files + 404-guard backup paths from static root","body":"Broadens .gitignore to cover *.bak / *.bak.* / *.pre-* / *.orig / *.rej\n/ *~ so accidental snapshot files can never sneak into a commit. Adds\nan Express middleware ahead of express.static that returns 404 for any\nURL matching those extensions, so a stray backup that lands on disk in\npublic/ still can't leak over HTTP.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>"},{"hash":"ae203c7","date":"2026-05-19 17:19:54 -0700","author":"Steve Abrams","subject":"add rel=\"noreferrer\" to all target=\"_blank\" external links","body":"Pairs noreferrer with the existing noopener on the four DW outbound\nlinks (header Shop DW, hero CTA, footer Shop DW + Trade Program) and on\nthe JS-generated archive cards so referer headers don't leak.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>"},{"hash":"cacc636","date":"2026-05-10 21:40:37 -0700","author":"Steve Abrams","subject":"hamburger nav: apply canonical pattern from sister-site fleet","body":""},{"hash":"e860975","date":"2026-05-10 21:39:52 -0700","author":"Steve Abrams","subject":"snapshot before hamburger nav rollout","body":""},{"hash":"9f391d6","date":"2026-05-07 16:41:31 -0700","author":"Steve Abrams","subject":"initial scaffold: fabricfriday.com cinematic saffron site","body":""}]}