README: add testing section, mark persistence done in roadmap

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Fredrik Johansson
2026-06-21 18:16:45 +02:00
parent d75d907245
commit c4a059431b

View File

@@ -124,15 +124,32 @@ Replaces WASTE's original Blowfish/PCBC (broken cipher mode) + RSA.
> Peer IDs are 64-char lowercase hex (Ed25519 public key). Existing `identity.json` files
> on disk are unaffected — only the over-the-wire representation changed from base64url.
## Testing
A self-contained test script boots anchor + three peers, joins them to a named network, exchanges group messages and DMs, and verifies SQLite persistence:
```bash
./test-network.sh
```
Data lands at `/tmp/waste-test` (wiped on each run). Inspect after a run:
```bash
sqlite3 /tmp/waste-test/alice/messages.db
.headers on
SELECT room, from_peer, body, sent_at FROM messages;
SELECT peer_id, alias, last_seen FROM peers;
```
## Roadmap
- [x] **Crypto layer** — hex peer IDs, `nacl/box` signaling, Ed25519→X25519 key derivation
- [x] **Proto additions**`mid` field, signaling types, anchor wire types, `hello` message, `FileDone`
- [x] **Anchor server** (`cmd/anchor`) — WebSocket signaling server (replaces TCP relay)
- [x] **WebRTC peer connections** — pion/webrtc DataChannels replace raw TCP in `internal/mesh`
- [x] **Anchor client** (`internal/anchor`) — ICE offer/answer/candidate lifecycle, `nacl/box` sealing
- [x] **IPC updates**`join_network`/`leave_network` replace `connect`; `session_ready` event added
- [x] **Proto additions**`mid` dedup field, signaling types, anchor wire types, `hello` message
- [x] **Anchor server** (`cmd/anchor`) — WebSocket signaling server replacing TCP relay
- [x] **WebRTC peer connections** — pion/webrtc DataChannels; ICE hole-punching via STUN
- [x] **Anchor client** (`internal/anchor`) — offer/answer/candidate lifecycle, `nacl/box` sealing
- [x] **IPC updates**`join_network`/`leave_network`; `session_ready` event; DMs via `to` field
- [x] **Message persistence** — SQLite (`internal/store`); messages and peer alias cache
- [ ] **TUI** — Bubble Tea terminal UI consuming the IPC port
- [ ] **File transfer** — chunked binary DataChannel (`f:<xid>`)
- [ ] **Message persistence** — SQLite via `modernc.org/sqlite`
- [ ] **TUI** — Bubble Tea client consuming the IPC port
- [ ] **Native UI** — web frontend with native packaging (Tauri-style)