ba8bfc3f46
User-facing - New post-login home (/home): chat rail + Share/Connect (embedded) + Meeting; login lives here when logged out - Landing: "Log in with BizGaze" + no-login screen share - Console replaced by a role-scoped Dashboard (/dashboard): admins see all team sessions, others see only their own; stats + CSV/PDF export - Recordings saved as MP4 (H.264/AAC) with WebM fallback; old .webm still downloadable - Fix: duplicate "Sign in" on the login card Auth / integration - BizGaze as identity provider: /api/login validates against BIZGAZE_LOGIN_URL (env-gated) and provisions a local user - Phase 2 start: /api/v1 alias for all /api routes; Authorization: Bearer accepted across HTTP + WS; login returns a token (for native desktop/mobile clients) Backend refactor (Phase 1, behavior-preserving) - Split server.js into config/lib/session/presence/routes/static/signaling + repos (data-access) + bizgaze (service) - All SQL behind repos.js, tenant-scoped (tenantId == team_id for now) - e2e updated to current flow (21/21 pass before and after) Docs: ARCHITECTURE.md (target architecture + phased plan), CLAUDE.md repo layout, .env.example BIZGAZE_LOGIN_URL Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
8 lines
434 B
JavaScript
8 lines
434 B
JavaScript
// In-memory live state shared between the HTTP routes and the WebSocket signaling layer.
|
|
// NOTE (roadmap): this is the piece that must move to Redis to run multiple instances.
|
|
module.exports = {
|
|
onlineAgents: new Map(), // machineId -> { ws, machine }
|
|
liveSessions: new Map(), // sessionId -> { agentWs, viewerWs, machine, user }
|
|
pendingShares: new Map(), // code -> { sharerWs, sessionId } (no-install ad-hoc shares)
|
|
};
|