Fabricut Landing

repo: ~/Projects/fabricut-landing · 45 commits · 1 in last 24h, 7 in last 7d · ███████

Search the build

45 commits indexed

  1. e84ffe0 2026-09-26 auto-data-snapshot: 2026-09-26T09:21:27 (1 data files) — data/image-restore-map.json
  2. fbab569 2026-09-25 auto-data-snapshot: 2026-09-25T09:20:47 (1 data files) — data/image-restore-map.json
  3. ffdeaef 2026-09-24 auto-data-snapshot: 2026-09-24T09:12:24 (1 data files) — data/image-restore-map.json
  4. 5137003 2026-09-23 auto-data-snapshot: 2026-09-23T09:31:43 (1 data files) — data/image-restore-map.json
  5. b9ac26a 2026-09-22 auto-data-snapshot: 2026-09-22T09:54:34 (1 data files) — data/image-restore-map.json
  6. 4fba91a 2026-09-21 auto-data-snapshot: 2026-09-21T09:21:33 (1 data files) — data/image-restore-map.json
  7. 9e6ef99 2026-09-20 auto-data-snapshot: 2026-09-20T09:27:07 (1 data files) — data/image-restore-map.json
  8. 74067fb 2026-09-19 auto-data-snapshot: 2026-09-19T09:27:32 (1 data files) — data/image-restore-map.json
  9. 2c806cf 2026-09-18 auto-data-snapshot: 2026-09-18T09:26:51 (1 data files) — data/image-restore-map.json
  10. a53606e 2026-09-17 auto-data-snapshot: 2026-09-17T09:20:48 (1 data files) — data/image-restore-map.json
  11. fe6f6d2 2026-09-16 auto-data-snapshot: 2026-09-16T09:33:20 (1 data files) — data/image-restore-map.json
  12. 86026ad 2026-09-15 auto-data-snapshot: 2026-09-15T09:16:55 (1 data files) — data/image-restore-map.json
  13. c363263 2026-09-15 TK-11438: migrate build script postgres connections to unix socket
  14. cb64a31 2026-09-15 TK-11438: migrate postgres pool to unix socket (darwin fallback)
  15. ebe62bd 2026-09-14 auto-data-snapshot: 2026-09-14T08:53:29 (1 data files) — data/image-restore-map.json
  16. 7c50f58 2026-09-13 auto-data-snapshot: 2026-09-13T09:13:35 (1 data files) — data/image-restore-map.json
  17. 23bbb76 2026-09-12 auto-data-snapshot: 2026-09-12T09:28:54 (1 data files) — data/image-restore-map.json
  18. 468f0b0 2026-09-11 auto-data-snapshot: 2026-09-11T09:31:49 (1 data files) — data/image-restore-map.json
  19. d1fa60d 2026-09-10 auto-data-snapshot: 2026-09-10T09:22:46 (1 data files) — data/image-restore-map.json
  20. 20dd4d2 2026-09-09 auto-data-snapshot: 2026-09-09T09:32:15 (1 data files) — data/image-restore-map.json
  21. b1c52da 2026-09-08 auto-data-snapshot: 2026-09-08T09:02:39 (1 data files) — data/image-restore-map.json
  22. 8722a5f 2026-09-07 auto-data-snapshot: 2026-09-07T09:25:49 (1 data files) — data/image-restore-map.json
  23. 994449d 2026-09-06 auto-data-snapshot: 2026-09-06T09:04:17 (1 data files) — data/image-restore-map.json
  24. 1f6d109 2026-09-05 auto-data-snapshot: 2026-09-05T09:24:41 (1 data files) — data/image-restore-map.json
  25. 30021b7 2026-09-04 auto-data-snapshot: 2026-09-04T09:09:45 (1 data files) — data/image-restore-map.json
  26. bcacd8b 2026-09-04 deploy: guard prod-only runtime data from rsync --delete
  27. a28d549 2026-09-03 auto-data-snapshot: 2026-09-03T09:14:19 (1 data files) — data/image-restore-map.json
  28. af71374 2026-08-30 auto-data-snapshot: 2026-08-30T09:05:58 (1 data files) — data/image-restore-map.json
  29. e62c6ec 2026-08-29 auto-data-snapshot: 2026-08-29T09:06:18 (1 data files) — data/image-restore-map.json
  30. a6a7f61 2026-08-28 auto-data-snapshot: 2026-08-28T09:02:22 (1 data files) — data/image-restore-map.json
  31. 071efa7 2026-08-27 auto-data-snapshot: 2026-08-27T09:33:34 (1 data files) — data/image-restore-map.json
  32. 193fe24 2026-08-26 auto-data-snapshot: 2026-08-26T09:38:32 (1 data files) — data/image-restore-map.json
  33. f2af87b 2026-08-25 auto-data-snapshot: 2026-08-25T09:32:22 (1 data files) — data/image-restore-map.json
  34. a94cc21 2026-08-24 auto-data-snapshot: 2026-08-24T20:06:56 (1 data files) — data/image-restore-map.json
  35. 5986a14 2026-08-24 fabricut: make localizer restore-map merge-safe (never clobber prior reversibility)
  36. 3a38772 2026-08-24 fabricut: localize all images off vendor S3 to DW public URLs (TK-10823)
  37. 77235df 2026-08-24 auto-data-snapshot: 2026-08-24T19:04:21 (3 data files) — public/img/fabricut/2910902.jpg public/img/fabricut/2910902_stylized_secondary__room.jpg public/img/fabricut/2914903.jpg
  38. e588706 2026-08-24 fabricut: filter dead _stylized_secondary room images (403 AccessDenied from vendor S3)
  39. 41f035e 2026-08-24 fix(fabricut): make build schema-resilient + build on canonical Mac2
  40. bdb71d3 2026-08-24 chore(fabricut): rebase onto live — add GA snippet + pin prod port 35959 (reconcile pre-deploy drift)
  41. c7514d0 2026-08-24 fix(fabricut): group grid by pattern — one card per pattern with colorway swatch strip (1325 cards -> 189)
  42. aa2887a 2026-08-20 chore: v1.0.0 — go-live (session close)
  43. 935a208 2026-08-20 SEO: dynamic sitemap on public + noindex robots on internal
  44. 5048cfe 2026-08-20 Public site hardening (Cody red-team FIX FIRST): remove vendor-email/selection/curate routes, strip internal chrome (pill/modal/Stock-Price/net-cost/ordering-internal) via isPublic guard, fix title (no dw_unified), drop Phillipe-Romano curate button, add robots + log-only inquiry
  45. 7c24d19 2026-08-20 Fabricut microsite (fabricut-landing): DW-branded self-contained viewer over fabricut_catalog (1325 products, per-yard, real-hex color sort)

Authors

Agents used

  • none detected

Skills used

  • /image-restore-map32
  • /fabricut6
  • /quadrille1
  • /claude1
  • /code1
  • /localize-images1
  • /encoding1
  • /restore-images1
  • /search1
  • /selection1
  • /curate1
  • /modal1
  • /net-cost1
  • /ordering-internal1

Creative ideas + design notes

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

cb64a31 · 2026-09-15 · TK-11438: migrate postgres pool to unix socket (darwin fallback)
Use process.env.PGHOST || darwin?/tmp:127.0.0.1 so Mac2 services use the
unix socket at /tmp and Kamatera keeps TCP until its own migration.
Undo: git revert HEAD
bcacd8b · 2026-09-04 · deploy: guard prod-only runtime data from rsync --delete
deploy.sh runs 'rsync -az --delete' with no data/ exclude, so a deploy
overwrote the box's runtime file with the local copy and destroyed
everything written since the last deploy. Added a surgical
RSYNC_EXTRA_EXCLUDES for this project's runtime path(s) only, so genuine
build artifacts under data/ keep syncing.

Verified by itemized rsync --dry-run against prod: the runtime file is
listed for transfer WITHOUT the exclude and absent WITH it.

Fleet sweep, TK-11227. Same bug class as the July 2026 artmura/quadrille
mis-target fix and the abramsagency lead-ledger fix (TK-10536).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013mq9RQtVZZEWvreDqqTgv2
5986a14 · 2026-08-24 · fabricut: make localizer restore-map merge-safe (never clobber prior reversibility)
The daily-post recurrence guard runs localize-images.js --apply every day; a
steady-state run finds 0 S3 rows and previously rebuilt an EMPTY restore-map,
wiping reversibility. Now it MERGES by dw_sku (keeps the oldest recorded original
S3 url, updates the localized target), so the 1325-row map survives empty runs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
3a38772 · 2026-08-24 · fabricut: localize all images off vendor S3 to DW public URLs (TK-10823)
- scripts/localize-images.js: download 1310 imgs (272MB) to public/img/fabricut,
  prefer full-res product_images/<id>.jpg (900x1200) over 600px thumbnails, rewrite
  fabricut_catalog.image_url(1325)+all_images(579) to
  https://fabricut.designerwallcoverings.com/img/fabricut/<id>.jpg (DTD 5/5 verdict B:
  public absolute DW URL works for BOTH microsite AND Shopify daily-post).
- Rooms were NOT dead — the _stylized_secondary 403 was a casing/encoding artifact;
  all return HTTP 200. Localized 526 real room shots (real rooms 71->526), dropped
  only 2 genuinely-403 rooms. NO AI room generation needed (DTD unanimous SKIP).
- build-fabricut.js: replace obsolete _stylized_secondary drop with an S3-hotlink
  drop so the microsite never serves off fabricut.img again.
- scripts/restore-images.js + data/image-restore-map.json: full reversibility.
- gitignore the 272MB image binaries (reproducible + rsync-shipped on deploy).

products.json: 0 S3 hotlinks (was 1325), 1325 DW-local swatches, 526 real rooms.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
41f035e · 2026-08-24 · fix(fabricut): make build schema-resilient + build on canonical Mac2
build-fabricut.js crashed on Kamatera ('column book_name does not exist') because
the Kamatera fabricut_catalog mirror is schema-drifted (only has 'collection').
Add an information_schema guard so the query degrades gracefully instead of crashing,
and move the data build to a PREDEPLOY_HOOK that runs on canonical Mac2 (where
book_name + real book labels live) — ship the finished products.json instead of
rebuilding on the drifted mirror. Verified local build: 1325 products, 11 books, 189 patterns.
c7514d0 · 2026-08-24 · fix(fabricut): group grid by pattern — one card per pattern with colorway swatch strip (1325 cards -> 189)
Root cause of perceived 'duplicates': the grid rendered one card per colorway/SKU,
so a 189-pattern catalog exploded into 1325 near-identical cards (94% of patterns
have >1 colorway). Data/API had 0 true duplicate SKUs. Fix is front-end only:
groupByPattern() collapses colorways of a series into one pattern card (swatch strip
+ N-colors), applied after filtering so facets/search re-group correctly. Verified
headless: 189 pattern cards, color filter 0-leak, infinite-scroll no dup.

File tree

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

Other build journals

← Fabricut Internal  ·  all 4 projects  ·  Fabricwallpaper →

Export

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

rendered in 1ms