Files
omarandClaude Opus 4.8 aee04924da
CI / validate (push) Failing after 7s
CI / images (deploy/Dockerfile.api, api) (push) Has been skipped
CI / images (deploy/Dockerfile.checker, checker) (push) Has been skipped
CI / images (deploy/Dockerfile.web, web) (push) Has been skipped
Add sessions page, live websocket, subscription URL search; fix Settings toggles
1. Settings toggles were wrapped in <label>, which forwarded a second click to
   the switch button and cancelled the toggle — unwrapped so they respond.
2. Sessions: new GET /sessions, /sessions/{id} (per-protocol/source/country
   stats), /sessions/{id}/proxies. New Sessions tab: history list + per-session
   breakdown + the proxies that were valid in each session.
3. Subscriptions: url_search text[] — match canonical_url against ANY of several
   substrings (OR ILIKE). Multi-value tag input in the form.
4. Live: /api/v1/ws/status websocket pushes checker status ~1s; a client hook
   keeps the UI live and refreshes data queries on session completion. nginx
   upgrades the connection; statusWriter now implements http.Hijacker.
5. Dashboard + Sessions source breakdown: added valid-% (passed/unique) column.

Verified via Docker + Playwright: WS 101 upgrade and 1s stream, toggle flips,
sessions detail with real data, url_search=[vless://] yields only vless configs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014TtR4PP2JM9KadaBkhPGAE
2026-07-02 14:40:10 +03:00
..