Gmc Viewer

repo: ~/Projects/gmc-viewer · 11 commits · 0 in last 24h, 1 in last 7d · █

Search the build

11 commits indexed

  1. 828b20f 2026-09-24 gmc-viewer: migrate refresh to Merchant API v1, fail-closed cache write (TK-12036)
  2. 05df51e 2026-09-10 reassign default port 9971->9972 to resolve collision with adsense-manager (TK-11375)
  3. 9a84d83 2026-08-25 creds-safe fetch guard: resolve relative fetch vs credential-free location (creds-in-URL trap)
  4. 0493c14 2026-08-20 nav-agent: sync v1.3 (host left-sidebar collapse on load)
  5. 2678a19 2026-08-19 nav-agent: List data full-width tight columns (grid) — layout fix
  6. 63f6867 2026-08-19 Refresh nav-agent to v1.2 (adds kv-list compact List view, default-off)
  7. 5341e5a 2026-08-13 nav-agent: universal grid-controls drop-in on internal dashboard/command-center pages (STRONG-only)
  8. 8669671 2026-07-31 gmc-viewer: href-drill — status badge is a filter-link + URL-addressable state
  9. a07e983 2026-07-09 auto-save: 2026-07-09T14:10:49 (1 files) — dw-ga4-custom-pixel.js
  10. 3da85f7 2026-07-09 fix: MC status value is 'approved' not 'active' (approved count was 0); summary recomputes live from cache
  11. 7e32dc7 2026-07-09 gmc-viewer: local read-only viewer of live Google Merchant catalog (grid, status/price filters, search)

Authors

Agents used

  • none detected

Skills used

  • /claude1
  • /code1
  • /command-center1
  • /disapproved1
  • /pending1
  • /products1
  • /ctrl-click1
  • /country1
  • /price1

Creative ideas + design notes

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

828b20f · 2026-09-24 · gmc-viewer: migrate refresh to Merchant API v1, fail-closed cache write (TK-12036)
Content API v2.1 410s mid-pagination (sunset); old pull() wrote the partial
result as the catalog then crashed on undefined summary. Now: merchantapi
products/v1, overwrite cache only after a complete error-free walk.
Verified: 61,659 offers refreshed.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014RPYSiFdzmd1W1zPngeHTy
9a84d83 · 2026-08-25 · creds-safe fetch guard: resolve relative fetch vs credential-free location (creds-in-URL trap)
Fleet inoculation — opening this basic-auth app with credentials in the URL
poisoned document.baseURI and made relative fetch('/api/…') throw. Guard resolves
non-absolute request URLs against location instead. Ref: creds-in-url-fetch-guard-fleet-pattern.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
8669671 · 2026-07-31 · gmc-viewer: href-drill — status badge is a filter-link + URL-addressable state
Each card's Merchant status badge (approved/disapproved/pending — the statuses the
/api/products filter supports) is now an <a href="?filter=<status>"> to its filtered
view (href-drill HARD rule); the chip filter + search are URL-addressable too. Click
filters in place + reflects into the URL, cmd/ctrl-click opens the shareable href,
back-button + deep-link restore via popstate/readURL. Brand/country left as text — the
API can't filter them, and gaming the detector without a real drill is not the fix.

Verified (Playwright + basic auth, live :9971): click an approved badge -> ?filter=approved
+ every card now approved; deep-link restores; back-button restores; canary FLAT->DONE;
0 pageerrors. href-drill backlog grid 5/92. TK-10089.

File tree

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

Other build journals

← Gmc Titlefix  ·  all 4 projects  ·  Goldleafwallpaper →

Export

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

rendered in 1ms