UAT/PHASE1.md — 20 test scenarios, 80+ checkboxes Identity, encryption, messaging, TUI, web, groups, aliases, auth, OTP replenishment, session persistence, cross-client UAT/PHASE2.md — 7 scenarios (WASM, receipts, files, multi-device, HW wallet, groups, history) UAT/PHASE3.md — 6 scenarios (DNS discovery, key transparency, federation, mutual TLS, gossip) UAT/PHASE4.md — 10 scenarios (mule identity, pickup, delivery, receipts, dedup, expiry, compression) UAT/PHASE5.md — 6 scenarios (Bluetooth, LoRa, mDNS, Wi-Fi Direct, USB export, fallback chain) UAT/PHASE6.md — 3 scenarios (sealed sender, traffic analysis resistance, onion routing) UAT/PHASE7.md — 8 scenarios (ntfy, DoH, DB encryption, admin CLI, rate limiting, audit, CI, monitoring) Each test has exact commands to run and checkboxes for pass/fail. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3.8 KiB
3.8 KiB
Phase 2 — User Acceptance Testing
Phase 2 is NOT YET IMPLEMENTED. This is a pre-written test plan.
Prerequisites
- Phase 1 UAT fully passing
- WASM toolchain installed (
wasm-pack) - Two devices or VMs for multi-device testing
1. WASM Build (Web-CLI Interop)
cd warzone/crates/warzone-protocol
wasm-pack build --target web
- WASM build succeeds
- Web client loads WASM module
- Web client uses X25519 + ChaCha20 (same as CLI)
- Web → CLI: message sent from browser, decrypted by CLI
recv - CLI → Web: message sent from CLI, decrypted in browser
- Bidirectional conversation works across web and CLI
2. Delivery Receipts
Alice sends to Bob:
- Alice's UI shows "sent" checkmark (✓) after server accepts
- When Bob's client polls and receives, server generates delivery receipt
- Alice's UI updates to "delivered" (✓✓)
- When Bob reads/decrypts, Bob's client sends read receipt
- Alice's UI updates to "read" (✓✓ blue/colored)
Offline Bob:
- Alice sends while Bob is offline
- "sent" (✓) shown immediately
- Bob comes online, polls → "delivered" (✓✓) on Alice's side
- Receipts themselves are E2E encrypted
3. File Transfer
CLI:
/file /path/to/document.pdf
- File is chunked, encrypted, and sent
- Recipient sees "[file: document.pdf (1.2 MB)]"
/saveor auto-download saves to disk- File integrity check (hash matches)
- Files up to 10 MB work
- Progress shown during transfer
Web:
- File upload button in chat
- File encrypted and sent
- Recipient gets download link
- Downloaded file is correct
4. Multi-Device
Setup: Alice on two devices (same seed):
# Device 1
cargo run --bin warzone-client -- init
# Note mnemonic
# Device 2
WARZONE_HOME=/tmp/alice2 cargo run --bin warzone-client -- recover <mnemonic>
WARZONE_HOME=/tmp/alice2 cargo run --bin warzone-client -- register -s http://localhost:7700
- Both devices have same fingerprint
- Bob sends to Alice's fingerprint
- Device 1 receives and decrypts
- Device 2 receives and decrypts (separate session)
- Messages sent from Device 1 are visible on Device 2 (via sync)
- Device list shown on server:
GET /v1/devices/<fingerprint>
5. Hardware Wallet Delegation
Connect Ledger/Trezor:
cargo run --bin warzone-client -- hw-delegate
- Detects hardware wallet via USB
- Shows "Sign delegation certificate on device"
- User confirms on hardware wallet
- Session key generated, delegation cert stored
- Subsequent operations use session key (no wallet needed)
- After 30 days, prompts for re-delegation
Without hardware wallet (session key only):
- All operations work using cached session key
- No USB prompts during normal chat
6. Group Management
Kick member:
/gkick @troublemaker
- Member removed from group
- Sender Keys rotated for remaining members
- Kicked member can no longer decrypt new messages
Leave group:
/gleave ops
- You are removed
- Remaining members rotate keys
Group info:
/ginfo ops
- Shows: name, creator, member list, creation date
7. Message History Persistence
- Close and reopen TUI → previous messages still shown
- History stored in local sled DB
/history 50shows last 50 messages- History is encrypted at rest (tied to seed)
Summary
| # | Feature | Result |
|---|---|---|
| 1 | WASM web-CLI interop | ☐ |
| 2 | Delivery receipts | ☐ |
| 3 | File transfer | ☐ |
| 4 | Multi-device | ☐ |
| 5 | Hardware wallet delegation | ☐ |
| 6 | Group management | ☐ |
| 7 | Message history | ☐ |
Tester: _______________ Date: _______________