Watches

repo: ~/Projects/watches · 11 commits · 0 in last 24h, 0 in last 7d ·

Search the build

11 commits indexed

  1. 9430e0e 2026-06-21 auto-save: 2026-06-21T18:53:05 (1 files) — .env.example
  2. e4d2c68 2026-05-30 fix: restore missing dependencies in package.json and respect PORT env var
  3. 9177627 2026-05-30 security: strip hardcoded dw_admin DSN password -> env-first. No rotation/deploy.
  4. 10ed798 2026-05-19 fix(app.js): /api/watches now returns paginated wrapper, not bare array
  5. db8e98e 2026-05-19 Add snapshot-file 404 guard for .bak/.pre-/.orig/.rej paths
  6. 1f77b3d 2026-05-19 Add rel=noopener noreferrer + serve /docs static for api-playground links
  7. 6aff506 2026-05-19 Add /api 404 guard before SPA catch-all
  8. 253afbe 2026-05-19 Broaden .gitignore: snapshot leftovers + SQLite WAL/SHM
  9. 08f02d6 2026-05-19 Add sort + density slider with localStorage persistence to watch search
  10. 96a9a73 2026-05-13 snapshot: 1 file(s) changed, ~1 modified
  11. 08ed49d 2026-05-06 initial scaffold (gitify-all 2026-05-06)

Authors

Agents used

  • none detected

Skills used

  • /docs4
  • /watches2
  • /start1
  • /deploy1
  • /rsync1
  • /markdown1
  • /index1
  • /journal1
  • /advanced-search1

Creative ideas + design notes

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

e4d2c68 · 2026-05-30 · fix: restore missing dependencies in package.json and respect PORT env var
- package.json had empty dependencies{} so npm install was a no-op; restored
  all 54 deps from package-lock.json so the project is installable fresh
- added "type":"module" and corrected main/start entries (server.js, not index.js)
- server.js hardcoded PORT=7600 ignoring the PORT env var; changed to
  process.env.PORT with 7600 fallback so pm2/test runners can override the port

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
10ed798 · 2026-05-19 · fix(app.js): /api/watches now returns paginated wrapper, not bare array
loadWatches() was doing `allWatches = await response.json()` against
/api/watches, but server.js:442 returns `{total, page, limit, totalPages, watches: [...]}`
(default limit=50). So allWatches was getting the wrapper object, and every
subsequent .forEach/.filter on it was broken (silently — Array.prototype
methods don't exist on plain objects so the comparison list on index.html
was non-functional).

Defensive fix: extract .watches if the response is an object (handles old
bare-array API too), and request ?limit=9999 so we still get the whole
catalog now that the endpoint paginates.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
db8e98e · 2026-05-19 · Add snapshot-file 404 guard for .bak/.pre-/.orig/.rej paths
Returns plain 404 for any request matching editor or merge-leftover
extensions before reaching express.static. Backstop in case a snapshot
file ever lands inside dist/ or public/ via deploy/rsync.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1f77b3d · 2026-05-19 · Add rel=noopener noreferrer + serve /docs static for api-playground links
api-playground.html had three target=_blank quick-links without rel
attrs (window.opener exploit risk pre-2021 browsers). Added rel on all
three. The "Full Guide" link points at /docs/API_COMPLETE_GUIDE.md but
no static handler served /docs — added express.static for ./docs with
text/markdown content-type so the link no longer dead-404s.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6aff506 · 2026-05-19 · Add /api 404 guard before SPA catch-all
Unknown /api/* paths were being swallowed by the app.get('*') fallback
that serves dist/index.html, so a typo'd API URL returned the React shell
(200 with HTML) instead of a proper 404. JSON 404 makes API misuse
detectable on the client + in logs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
253afbe · 2026-05-19 · Broaden .gitignore: snapshot leftovers + SQLite WAL/SHM
Adds *.bak.*, *.pre-*, *.orig, *.rej plus SQLite WAL/SHM/journal so the
search FTS db's transient sidecar files don't show up as untracked.
*~ and *.swp already covered under IDE block above.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
08f02d6 · 2026-05-19 · Add sort + density slider with localStorage persistence to watch search
Sort hydrates BEFORE first /api/advanced-search call. Default sort flipped
from "relevance" to "Newest (Year)". Density slider rewrites a CSS var so
the auto-fill min card width updates without re-rendering.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

File tree

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

Other build journals

← Warp Starfield  ·  all 4 projects  ·  Web Viewer 3877 →

Export

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

rendered in 0ms