Retrowalls

repo: ~/Projects/retrowalls · 70 commits · 0 in last 24h, 0 in last 7d ·

Search the build

70 commits indexed

  1. 7d3dbeb 2026-07-06 Square product-card images (aspect-ratio 1/1)
  2. 6502ef1 2026-07-03 corner-nav: move login to its own hamburger in upper-left (panel slides from left)
  3. b9d8b89 2026-07-03 chore: macstudio3 migration — reconcile from mac2 + repoint paths (stevestudio2→macstudio3, node/npm/npx→/opt/homebrew)
  4. 1cf0d0e 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.
  5. 70a042d 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)
  6. cc8f3a4 2026-06-11 retrowalls: rails fire again — wire sliders + grid filter to aesthetic-OR-tags matcher (prod-safe try-require + inline fallback)
  7. 7d4425e 2026-06-09 step2 vendor-leak fix: dual-key /sample resolver + handle_display hrefs
  8. b05db52 2026-06-03 seo: add robots.txt + sitemap.xml (was 404 — crawl gap)
  9. 1a1317d 2026-06-03 Scrub residual vendor names from products.json (title/vendor/tags); preserve sku/handle
  10. edbec61 2026-06-03 a11y: add aria-label to contact/sample form inputs (zero visual; screen-reader association)
  11. 286f53e 2026-06-01 admin: add dw-theme-nav 20-theme navigator (upper-right, admin-only)
  12. 4c2a861 2026-06-01 hero: rotate curated room-setting pool (hero-pool.json), guard >=1400px, no swatch blur
  13. 58219f9 2026-06-01 homepage: retire redundant corner-nav.js (ns-header hamburger is the live nav)
  14. f971984 2026-06-01 homepage: collapse duplicated 'Ideas' rail-eyebrows into one section eyebrow
  15. 20fcec5 2026-06-01 Unique hero image (backsync from prod, fleet hero dedup 2026-06-01)
  16. b877cdb 2026-06-01 Revert "Remove Big Red widget — never UX-worked, collided with Help pill (fleet sweep)"
  17. 1f44003 2026-06-01 hero: activate self-contained 2x2 hero-4grid (fleet sweep, local)
  18. 92b10d4 2026-06-01 Remove Big Red widget — never UX-worked, collided with Help pill (fleet sweep)
  19. 216a456 2026-06-01 /api/facets honors q+aesthetic+vendor filters via shared filterProducts() — counts + total reflect filtered set, not unfiltered catalog
  20. 4e776b9 2026-06-01 noopener,noreferrer on sister-site map window.open(_blank)
  21. e76c444 2026-05-30 fix: block .bak-TIMESTAMP backup files from being served + add *.bak-* to .gitignore
  22. 8d0ed49 2026-05-29 feat(fleet): theme1/theme2 query-param-gated toggle on catalog page
  23. 0e8b620 2026-05-28 scrub vendor name leaks from products.json source (344 products: title/vendor/tags cleaned per sku-redact denylist)
  24. ca212d4 2026-05-26 frontend: cleanSku() strips vendor names from displayed sku (.ven/list/detail) + defer renderRailSections call (fix ReferenceError) — click-through verified
  25. cc7338e 2026-05-26 sku-redact: wire shared vendor-id display scrubber
  26. 644afec 2026-05-26 rails: editorial labels for firing aesthetic buckets
  27. 2049623 2026-05-26 rails: wire /api/sliders into horizontal scroll-snap rail sections [fixed]
  28. 15614c6 2026-05-25 pre-hydrate density --cols CSS var before first paint — eliminates 6→saved flash on reload
  29. f096823 2026-05-25 redact p.vendor on Ideas rail — replace with 'Designer Wallcoverings' brand string
  30. b3bdcce 2026-05-25 wire api-vendor-redact middleware as first app.use() — strips vendor field + vendors facet from /api/* responses
  31. 21a9a16 2026-05-25 pull-from-shopify: use shared classifier with rails primary, local aestheticOf as fallback
  32. 30b2add 2026-05-25 retag aesthetic from PG: 573 rows updated
  33. caa78e6 2026-05-20 add: pre-stage Meta Pixel snippet (placeholder; flip via _dw-batch set-fb-pixel.sh)
  34. b4cd573 2026-05-19 make server.js self-contained — gate _shared/admin-catalog behind MICROSITE_ADMIN_ENABLED env flag (kamatera deploy unblock)
  35. a2f77f5 2026-05-19 sort: hydrate saved sort from localStorage before first grid load + send to /api/products
  36. d3b1cfc 2026-05-19 fix(grid): hydrate saved sort BEFORE first /api/products call
  37. daad56e 2026-05-19 chore(gitignore): cover *.bak.* and *.pre-* snapshot patterns
  38. cd1cf67 2026-05-19 chore(repo): untrack editor snapshots and broaden gitignore for *.bak.* / *.pre-*
  39. f88113a 2026-05-19 fix(security): 404-guard for .bak/.pre-* editor snapshots in static root
  40. f782674 2026-05-19 fix(api): /api/facets total counts the served niche list, not raw catalog
  41. c0aa94c 2026-05-19 Phase 2b: harden .card .pat against long-token title clipping (overflow-wrap)
  42. 41252b2 2026-05-19 Phase 2: mobile-ready + tap-to-reveal
  43. b573903 2026-05-19 stage2: wire microsite catalog + admin CRUD + grid/list view
  44. 5679179 2026-05-14 hero-4grid: relocate json from data/ to public/ for Express static
  45. 5774b97 2026-05-14 4-grid hero: drop-in script + crop CSS + initial 4 newest products
  46. 616e31a 2026-05-14 favicon: Mag-7-inspired SVG glyph
  47. 9cd36b6 2026-05-13 fix env wiring — anchor dotenv to __dirname so .env loads even when pm2 cwd is wrong
  48. 9cabf1d 2026-05-13 corner-nav: title-case the brand name even when .ns-name source is lowercase
  49. cb97b37 2026-05-13 corner-nav: title-case brand display (e.g. corkwallcovering → Cork Wallcovering)
  50. 4a26fe6 2026-05-13 corner-nav: fix injection — script tag was landing inside HTML comment, now anchored to real </body>
  51. bd98dca 2026-05-13 fix: contact modal CSS+HTML (was rendering inline as raw emoji/links)
  52. 430d914 2026-05-13 embed Big Red customer chat (lower-left, retail mode, vendor-redacted)
  53. c279abf 2026-05-13 chip-click → product details modal; vendor redacted in card overlay
  54. fd83003 2026-05-13 add universal corner-nav.js (UR 4-icon: bag/account/search/menu)
  55. c856c16 2026-05-13 remove stray contact modal markup that was rendering inline on the page
  56. e35ced9 2026-05-11 fleet-grid refine: chip_uniform_aspect (retrowalls)
  57. 0f4396b 2026-05-11 snapshot before fleet-grid refine tick 7
  58. 4599216 2026-05-10 sort-skill UI: add Light→Dark / Dark→Light / Color Wheel options
  59. 17996f8 2026-05-10 sort-skill canonical: add light-dark/dark-light/wheel + helpers
  60. 76c1d31 2026-05-10 apply R1+R2+R4 hero standing rules — strip Studio Castel, lowercase serif wordmark below photo, add data-hero-mode huge default + four-square hydration
  61. 1ad1285 2026-05-07 Scrub Designer Wallcoverings from products.json (vendor/imageAlt/tags)
  62. 4cdc2f8 2026-05-07 graphic-loop pass 13: real footer brand + Facebook link + OG/Twitter meta tags
  63. a99d6b6 2026-05-07 graphic-loop pass 12: niche keyword filter (no off-niche products like 'solid' on patterned sites)
  64. 26fd8af 2026-05-07 graphic-loop pass 11: add Ideas rails (New this week + Curated picks) above main grid
  65. a49889a 2026-05-07 fix: stale res.json fragment causing SyntaxError
  66. 0397efd 2026-05-07 graphic-loop pass 10: center-mark to top + readable text-shadow + tighter letter-spacing (no mix-blend-mode)
  67. a461ff2 2026-05-07 graphic-loop pass 9: real site name + 20-image hero rotation + 2400px hero res
  68. b1f1b62 2026-05-06 graphic-loop pass 5: serif hero typography (Cormorant Garamond) + nav legibility (qwen3 unanimous)
  69. a565987 2026-05-06 graphic-loop pass 2: fix .corner-mark contrast + soften hero overlay (qwen3:14b consensus across fleet)
  70. 57d4abb 2026-05-06 initial scaffold (gitify-all 2026-05-06)

Authors

Agents used

  • none detected

Skills used

  • /products5
  • /tags3
  • /index3
  • /sample2
  • /vendor2
  • /facets2
  • /list2
  • /npm1
  • /npx1
  • /homebrew1
  • /handle1
  • /theme21
  • /detail1
  • /sliders1
  • /admin-catalog1
  • /vendors1
  • /body1
  • /links1
  • /account1
  • /search1
  • /menu1
  • /dark-light1
  • /wheel1

Creative ideas + design notes

Commits with substantial prose (≥120 chars) — the rationale behind each move.

58219f9 · 2026-06-01 · homepage: retire redundant corner-nav.js (ns-header hamburger is the live nav)
Brings retrowalls in line with the other 47 sister sites: the static
.ns-header + nsToggleNav() hamburger is the working nav, so the legacy
corner-nav.js overlay is redundant. Eyebrow fix already committed prior.
e76c444 · 2026-05-30 · fix: block .bak-TIMESTAMP backup files from being served + add *.bak-* to .gitignore
public/index.html.bak-20260526152130 was accessible via HTTP (200) because
the bak-guard regex only matched .bak followed by a dot or EOL, not .bak-*.
Updated regex to /\.bak(?:[\.\-]|$)/ to cover all three variants (.bak, .bak.,
.bak-). Removed the leaked file and added *.bak-* to .gitignore.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
8d0ed49 · 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.
30b2add · 2026-05-25 · retag aesthetic from PG: 573 rows updated
before: all=600
after:  abstract=3, all=27, damask=130, deco=31, geometric=401, global=7, vintage=1

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>
a2f77f5 · 2026-05-19 · sort: hydrate saved sort from localStorage before first grid load + send to /api/products
Completes the sort wire-up — change listener was already attached but state.sort
was never restored on load and never sent as a query param, so the saved selection
had no effect on first render.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
d3b1cfc · 2026-05-19 · fix(grid): hydrate saved sort BEFORE first /api/products call
Two bugs combined to make the saved sort effectively write-only:
1. loadGridPage() didn't pass state.sort to the server, so the API
   always defaulted to 'newest' regardless of the slider state.
2. The sort-select wire-up that reads localStorage and assigns
   state.sort runs AFTER loadGridPage(), so even if the API had read
   state.sort it would have seen the default 'newest'.

Fix: hydrate state.sort from localStorage in the early state-init block
(alongside view), and include state.sort in the /api/products query string.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
cd1cf67 · 2026-05-19 · chore(repo): untrack editor snapshots and broaden gitignore for *.bak.* / *.pre-*
Removes 22 tracked snapshot files (server.js.bak.*, public/index.html.bak.*,
public/index.html.pre-*, data/products.json.bak.*) from the index and adds
*.bak.* + *.pre-* patterns so future on-disk snapshots stay local. Pairs
with the .bak/.pre- HTTP 404-guard in server.js.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
f88113a · 2026-05-19 · fix(security): 404-guard for .bak/.pre-* editor snapshots in static root
Stray *.bak/*.bak.*/*.pre-* files under public/ should never be reachable
via HTTP. Adds an Express middleware that returns 404 for any path matching
those snapshot patterns, so the public static mount can't accidentally
leak prior revisions of index.html or other pages.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
f782674 · 2026-05-19 · fix(api): /api/facets total counts the served niche list, not raw catalog
Previously total reflected pre-niche-filter PRODUCTS.length while the
aesthetics/vendors histograms were computed from PRODUCTS_NICHE; clients
saw a "total" that didn't match the sum of facet counts.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1ad1285 · 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

26 files tracked. Click any to browse the source at HEAD.

Other build journals

← Resume Queue Viewer  ·  all 4 projects  ·  Rigo Line Viewer →

Export

commits.csv · feed.atom · project.json · commits.json

rendered in 1ms