- roomHub: add globalSubs + subscribeRooms/broadcastRooms, emit create/update/delete on createRoom/setTarget/removeTarget/setDistribution/clearDistributions/removeRoom - gateway: handleRoomsEvents SSE (event: rooms, sync + 25s ping) - server: GET /api/rooms/events (room:list) - sse.ts: subscribeRooms with onState (onopen/onerror) - rooms.tsx: subscribe + 350ms debounce reload, live badge + lastSync - config_test: align ValidateDistributors permissive semantics (cdn占位不阻断) - docs: document /api/rooms/events in business-logic & design
- proto: live_sfu.proto -> sync_live.proto (synclive.v1/SyncLive),重生成 gen/sync_live.* - module: example.com/live-sfu -> sync-live,go.mod/go.sum 同步 - 后端: 新增 internal/room (role/member/room/service/store/permission),manage 治理面 internal/server/manage.go,auth(jwt/policy) 与 gateway/server 重构,适配 token_type/access+refresh 与 HttpOnly Cookie - 前端: types/api/auth/permissions 全量对齐,rooms 优先 query 分页、manage 创建,login 双模式+角色降级,用户管理封禁/解封,新增 /manage 5 Tab 治理页,主题与路由同步 - 构建: web 产物直出 internal/server/static,role 字符串序列化兼容数字,libsql 链接告警忽略 验证: web tsc --noEmit / go test / vite build / go build 常驻联调通过 (role:"creator" / manage/overview/rooms/query/create/members/refresh)
- README: explain the room chat/danmaku flow and the host-only POST /api/room/{room}/broadcast endpoint for OBS/bot/moderator use. - Add design.md describing the Awwwards-grade visual/UX bar.