b8ac4e7b1f
fix: redirect loop on stale cookie, login broken for 64-char keys, stale docs
6bdd76b4f0
security: auth redesign, SSRF protection, CORS lockdown, and 13 other fixes
5071e340c7
fix: SSE-driven chart/sparkline refresh, debounced server-side partials
2f7273604b
refactor: full SSR dashboard, minimal SSE DOM patches, poll-based refresh
878829111f
fix: use raw ETA tag for timestamp HTML in SSR monitor list
31f95288e6
fix: missing closing ETA block tag in home.ejs SSR section
0597c7f6e7
fix: set cookie domain to .pingql.com so it works on both subdomains
ef56b47b09
feat: cookie-based auth, SSR dashboard, JS-optional login
8e4cb84599
ux: widen dashboard layout to max-w-7xl, consistent px-8 padding
d41d3a3737
fix: latency chart red dots — track up/down with latency values
923f0349dc
feat: fully SSE-driven detail/home pages, kill polling intervals
037013b564
fix: SSE ping rows match existing table row style
a681833d8d
feat: detail edit form matches new monitor form (method, headers, body, timeout)
ef2b2c043d
feat: live sparkline updates on SSE ping
31d1fa7b04
fix: SSE via fetch for auth headers, remove query param auth, add heartbeat every 10s
6d48a83560
feat: SSE live ping stream for monitors
1e95149456
feat: live-updating timestamps via data-ts attribute
2bfe3a0272
fix: remove double popup on key rotation
c73951ea91
fix: ON UPDATE CASCADE on account FK so key rotation propagates
0b69fbfc72
fix: requireAuth uses onBeforeHandle instead of error() in derive