screentinker/server
ScreenTinker f8cc62308f Fix screenshot fallback query and API 404 hang
Two pre-existing bugs surfaced during deploy:

- /api/devices/:id/screenshot fell back to a query referencing
  screenshots.created_at, but the schema column is captured_at. Threw
  SqliteError 500 whenever the in-memory cache was cold (e.g. just
  after a server restart).

- The SPA catch-all at /* served index.html for non-/api paths but did
  nothing for unmatched /api/ paths — the response hung until the
  upstream timeout (524 from Cloudflare at 15s). Now returns 404 JSON.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 14:49:10 -05:00
..
db Add media folder organization to content library 2026-04-28 10:13:36 -05:00
middleware Fix UTF-8 encoding for special characters in filenames 2026-04-28 10:13:41 -05:00
player Security: fix IDORs, XSS, rate limits, SSRF validation 2026-04-28 14:37:18 -05:00
routes Security: fix IDORs, XSS, rate limits, SSRF validation 2026-04-28 14:37:18 -05:00
services Add group-level scheduling, group playlist assignment, and persist audio unlock 2026-04-15 20:22:42 -05:00
ws Security: fix IDORs, XSS, rate limits, SSRF validation 2026-04-28 14:37:18 -05:00
config.js Add DISABLE_REGISTRATION env var to block public sign-ups 2026-04-22 19:35:32 -05:00
package-lock.json Security: fix IDORs, XSS, rate limits, SSRF validation 2026-04-28 14:37:18 -05:00
package.json Security: fix IDORs, XSS, rate limits, SSRF validation 2026-04-28 14:37:18 -05:00
server.js Fix screenshot fallback query and API 404 hang 2026-04-28 14:49:10 -05:00