From dacb8b927851f441f99eb91fbe8018eeb949ea91 Mon Sep 17 00:00:00 2001 From: Senko-san Date: Mon, 8 Jun 2026 17:12:44 +0300 Subject: [PATCH] feat(api): real login + listening wired to the backend contract Replace the faked ConnectPage login with a real /auth/login -> /auth/me flow, including loading/error states. Add a backend-contract adapter layer (api/mappers.ts) translating the backend's snake_case, lean *Out schemas and {items,total,limit,offset} paging into the UI's camelCase domain types, so swapping backends only touches the mappers. - auth: chained login (tokens) + /auth/me (user); refresh on snake_case; expiresIn optional (reauth is 401-driven, backend sends no TTL) - streaming: GET /stream/{id}?token= (token query param for