Siavash Sameni
c2be68ca20
docs: comprehensive update all docs to v0.0.46
...
11 files updated to reflect current state (v0.0.22 → v0.0.46):
ARCHITECTURE.md:
- Ring tones, group calls, read receipts, markdown rendering sections
- Bot API expanded (BotFather, numeric IDs, Telegram compat)
- Admin commands, known issues, 155 tests
TASK_PLAN.md:
- All P1-P4 marked DONE with version numbers
- Additional completed work section (bots, ETH, ring tones, group calls)
- New FC-P7 (Voice & Transport): cpal, Sender Keys, WebTransport
- FC-P6-T9/T10 added
PROGRESS.md:
- Full version history table v0.0.22 through v0.0.46
- Known issues section
README.md:
- Voice calls, ring tones, group calls, read receipts, markdown, 155 tests
SECURITY.md:
- Bot API security, voice call security, admin commands sections
- Updated protection tables
USAGE.md:
- Group calls, read receipts, markdown formatting, admin commands
CLIENT.md:
- Call commands, read receipts, markdown rendering
LLM_HELP.md + LLM_BOT_DEV.md:
- Call/group call/admin commands, ring tones, per-bot numeric IDs
TESTING_E2E.md:
- Tests 16-18: ring tones, group calls, admin commands
CLAUDE.md:
- Ring tone notes, group signal endpoint, MLS roadmap
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 09:47:13 +04:00
Siavash Sameni
81954b1b0c
v0.0.44: web UI polish — ETH display, peer input, call fixes, docs
...
Web UI:
- Peer input Enter key now resolves ETH/@alias (like /peer command)
- ETH address stored and shown everywhere instead of raw fingerprint
- Call UI shows ETH address: "Calling 0x0021...", "In call with 0x9D70..."
- Server URL color: #444 → #666 (readable on dark background)
- Peer input placeholder: "ETH address, fingerprint, or @alias"
- peerEthAddr persisted in localStorage across sessions
Server:
- WS binary header: strip zero-padding from 64-char to 32-char fingerprint
- Call routing now works (was failing due to padded fingerprint lookup)
- startCall() resolves ETH/alias before sending CallSignal::Offer
- Audio bridge sends auth token to wzp-web as first WS message
- Deterministic room name: sorted fingerprint pair (both peers same room)
Docs updated:
- SERVER.md: WZP integration section (components, running, TLS, auth flow)
- USAGE.md: voice call usage for web and TUI
- LLM_HELP.md: call architecture, key files, environment vars
- LLM_BOT_DEV.md: note that bots cannot participate in calls
- TESTING_E2E.md: updated WZP prerequisites with correct flags
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 08:32:31 +04:00
Siavash Sameni
76cac77259
v0.0.28: BotFather-only registration, per-instance bot toggle, docs update
...
Security:
- Bot registration restricted to BotFather (requires botfather_token)
- Direct POST /v1/bot/register without BotFather auth → rejected
Deploy:
- systemd service reads /home/warzone/server.env for EXTRA_ARGS
- deploy/warzone-server.env.mequ: no bots (default)
- deploy/warzone-server.env.kh3rad3ree: --enable-bots
- setup.sh copies per-hostname env file
Docs updated:
- LLM_HELP.md: BotFather flow, plaintext bot messaging, E2E option, bridge
- LLM_BOT_DEV.md: botfather_token requirement, E2E mode, bridge section
- BOT_API.md: full BotFather flow, ownership, numeric IDs, webhook delivery
- SERVER.md: --enable-bots flag, per-instance config, bot system section
- USAGE.md: bot messaging, BotFather, bridge tool
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 09:52:12 +04:00
Siavash Sameni
7b72f7cba5
feat: friend list, bot API, ETH addressing, deep links, docs overhaul
...
Tier 1 — New features:
- E2E encrypted friend list: server stores opaque blob (POST/GET /v1/friends),
protocol-level encrypt/decrypt with HKDF-derived key, 4 tests
- Telegram Bot API compatibility: /bot/register, /bot/:token/getUpdates,
sendMessage, getMe — TG-style Update objects with proper message mapping
- ETH address resolution: GET /v1/resolve/:address (0x.../alias/@.../fp),
bidirectional ETH↔fp mapping stored on key registration
- Seed recovery: /seed command in TUI + web client
- URL deep links: /message/@alias, /message/0xABC, /group/#ops
- Group members with online status in GET /groups/:name/members
Tier 2 — UX polish:
- TUI: /friend, /friend <addr>, /unfriend <addr> with presence checking
- Web: friend commands, showGroupMembers() on group join
- Web: ETH address in header, clickable addresses (click→peer or copy)
- Bot: full WireMessage→TG Update mapping (encrypted base64, CallSignal,
FileHeader, bot_message JSON)
Documentation:
- USAGE.md rewritten: complete user guide with all commands
- SERVER.md rewritten: full admin guide with all 50+ endpoints
- CLIENT.md rewritten: architecture, commands, keyboard, storage
- LLM_HELP.md created: 1083-word token-optimized reference for helper LLM
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-29 07:31:54 +04:00
Siavash Sameni
2dbbc61dfe
Comprehensive documentation: architecture, usage, integration, progress, security
...
docs/ARCHITECTURE.md (531 lines):
System design, ASCII diagrams, crypto stack, dual-curve identity,
wire protocol (7 WireMessage variants), server/client architecture,
data flow diagrams, storage model, extensibility points
docs/USAGE.md (550 lines):
Complete user guide: installation, all CLI commands (10),
all TUI commands (20+), all web commands, file transfer,
identity management, aliases, groups, multi-device, backup,
keyboard shortcuts
docs/INTEGRATION.md (542 lines):
WarzonePhone concept, Ethereum/Web3, OIDC, DNS federation,
transport abstraction, multi-server mode, custom clients,
ntfy, how-to guides for extending message types/commands/storage
docs/PROGRESS.md (234 lines):
Timeline, Phase 1 (16 features), Phase 2 (16 features),
v0.0.20, 28 tests, bugs fixed, known limitations, Phase 3-7 roadmap
docs/SECURITY.md (438 lines):
Threat model, 8 crypto primitives, key derivation paths,
forward secrecy, Sender Keys trade-offs, seed security,
server trust, WASM security, known weaknesses,
comparison with Signal/Matrix/SimpleX
Total: 3,751 lines across 8 doc files.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-28 05:25:46 +04:00