48 lines
1.5 KiB
Markdown
48 lines
1.5 KiB
Markdown
## 🗺️ Roadmap
|
|
|
|
### 1. Core stability
|
|
|
|
- [ ] Switch from `ast.literal_eval` to `json` for messages.
|
|
- [ ] Add proper reconnect with heartbeat (ping/pong, timeouts).
|
|
- [ ] Clean error handling (no leaking stack traces to clients).
|
|
- [ ] Limit message size and frequency (basic anti-spam).
|
|
|
|
### 2. Security improvements
|
|
|
|
- [ ] Per-client symmetric keys instead of one global key.
|
|
- [ ] Upgrade RSA 512 → 2048 (or curve25519 ECDH + HKDF).
|
|
- [ ] Replace shared password with invite tokens or session-based bearer tokens.
|
|
- [ ] Force WSS (TLS) for production.
|
|
|
|
### 3. Chat features
|
|
|
|
- [ ] Multiple rooms (room_id support).
|
|
- [ ] Commands (`/nick`, `/clear`, `/help`, `/quit`).
|
|
- [ ] Message timestamps + sequence numbers.
|
|
- [ ] Delta updates (only send new messages instead of full history).
|
|
|
|
### 4. UX / Client
|
|
|
|
- [ ] Local encrypted history (optional).
|
|
- [ ] Customizable renderers (rich, minimal, json mode).
|
|
- [ ] Quiet reconnection status indicator.
|
|
- [ ] Configurable message buffer length.
|
|
|
|
### 5. File & media
|
|
|
|
- [ ] File transfer via encrypted chunks.
|
|
- [ ] Inline images (optional, in rich renderer).
|
|
|
|
### 6. Deployment & Ops
|
|
|
|
- [ ] Dockerfile + docker-compose (server + client).
|
|
- [ ] Add uvloop + multiple Sanic workers.
|
|
- [ ] Graceful shutdown & restart.
|
|
- [ ] Systemd service unit for server.
|
|
|
|
### 7. Privacy & audit
|
|
|
|
- [ ] Disable sensitive logs (no passwords/tokens in logs).
|
|
- [ ] Minimal server metrics: connected users, msg/sec.
|
|
- [ ] Configurable retention (in-memory only vs file-based).
|