Update DESIGN.md roadmap: Phase 1 done, add WebSocket as remaining item

Phase 1 updated with all completed items (16 done, 1 remaining).
WebSocket real-time push added as the last Phase 1 task.
Phase 2 cleaned up (removed items already done in Phase 1).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Siavash Sameni
2026-03-27 08:41:57 +04:00
parent 40ea631283
commit c7a31c674e

View File

@@ -408,24 +408,30 @@ warzone.wasm # browser client (via wasm-pack)
- [x] File upload
### Phase 1 — Identity & Crypto Foundation (Rust)
- [ ] Rust project scaffold (cargo workspace: server, client, protocol, mule)
- [ ] Seed-based identity (Ed25519 + X25519 from 32-byte seed)
- [ ] BIP39 mnemonic generation and recovery
- [ ] Seed encryption at rest (Argon2 + ChaCha20-Poly1305)
- [ ] Pre-key bundle generation and storage
- [ ] X3DH key exchange implementation
- [ ] Double Ratchet for 1:1 messaging
- [ ] Message signing (Ed25519)
- [ ] Basic server: accept connections, store-and-forward
- [x] Rust project scaffold (cargo workspace: server, client, protocol, mule, wasm)
- [x] Seed-based identity (Ed25519 + X25519 from 32-byte seed)
- [x] BIP39 mnemonic generation and recovery
- [x] Seed encryption at rest (Argon2 + ChaCha20-Poly1305, unlock once per session)
- [x] Pre-key bundle generation and storage
- [x] X3DH key exchange implementation
- [x] Double Ratchet for 1:1 messaging (forward secrecy, out-of-order)
- [x] Basic server: axum, sled DB, store-and-forward
- [x] CLI TUI client (ratatui, real-time chat)
- [x] Web client with WASM (same crypto as CLI, full interop)
- [x] Group chat (server fan-out, per-member encryption)
- [x] Aliases with TTL, recovery keys, reclamation
- [x] Server auth (challenge-response, bearer tokens)
- [x] OTP key replenishment
- [x] Fetch-and-delete delivery
- [x] 17 protocol tests
- [ ] **WebSocket real-time push** (replace HTTP polling with instant delivery)
### Phase 2 — Core Messaging
- [ ] 1:1 E2E encrypted messaging (full Signal protocol)
- [ ] Offline message queuing with TTL
- [ ] Multi-device support (device list signed by identity key)
- [ ] Sender Keys for group encryption
- [ ] Group management (create, invite, leave, kick)
- [ ] File transfer (chunked, encrypted)
- [ ] Delivery receipts (sent, delivered, read)
- [ ] File transfer (chunked, encrypted)
- [ ] Multi-device support (device list signed by identity key)
- [ ] Sender Keys for group encryption (replace per-member fan-out)
- [ ] Group management (kick, leave, key rotation)
- [ ] Message ordering and deduplication
- [ ] TUI client (ratatui)
- [ ] Web client (WASM)