// Package main contains the RadChat application entrypoint and HTTP handlers. // // RadChat is a lightweight, self-hostable voice/text chat with WebRTC for // peer-to-peer media and WebSockets for control signaling. The package wires up // HTTP routes for: // - /ws: WebSocket endpoint for signaling (join/leave, ICE, offers/answers, chat) // - /user-count: Small health/info endpoint returning connected users // - /check-username: Validate username rules and collision checks // - /files: Upload endpoint for ephemeral file sharing // - /files/{id}: Download endpoint for previously uploaded files // // Static assets are served from ./static and include the single-page app (SPA) // implemented in static/app.js. // // The main stateful coordination happens in the server subpackage via the Hub // and Client types. This package ( // package main) creates, runs, and exposes that hub over HTTP. package main