Conversation
Owner
xero
commented
May 29, 2026
There was a problem hiding this comment.
Pull request overview
This PR introduces the “V3” protocol + UI architecture update across server, shared lib, web, and CLI, adding signed identity claims / per-message signatures plus new verification + wire event-log surfaces in both clients.
Changes:
- Add V3 identity layer (Ed25519PreHash claims + detached message signatures) and update wire types/messages end-to-end.
- Refactor the web client to a store + session + bridge architecture with a shell-based view system and a sidebar (event log + fingerprint verify).
- Update docs and CLI to reflect the new protocol and UI capabilities.
Reviewed changes
Copilot reviewed 67 out of 69 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| web/src/wireTypes.ts | Update WS message unions (claims/sigs) |
| web/src/wireSummary.ts | Add wire-frame summarizer/redaction |
| web/src/views/waiting.ts | Waiting view mounts + invite v3 |
| web/src/views/verify.ts | New fingerprint verify panel |
| web/src/views/sidebar.ts | New sidebar + resize behavior |
| web/src/views/shell.ts | New view orchestrator (shell) |
| web/src/views/landing.ts | Landing mount + join swap |
| web/src/views/joining.ts | New “connecting” placeholder |
| web/src/views/join.ts | Join form builder refactor |
| web/src/views/header-nav.ts | Header buttons + sidebar toggles |
| web/src/views/event-log.ts | New event log sidebar panel |
| web/src/views/chat.ts | Chat mount refactor + sidebar integration |
| web/src/store.ts | New in-memory app store/actions |
| web/src/state.ts | Remove legacy monolithic state machine |
| web/src/main.ts | Boot via session+bridge+shell |
| web/src/icons.ts | Centralize inline SVG constants |
| web/src/emitter.ts | Add typed emitter utility |
| web/src/bridge.ts | Session→store adapter + event logging |
| web/index.html | Add header nav host + link logo |
| server/src/types.ts | Wire types updated for claims/sigs |
| server/src/rooms.ts | ConnData stores last claim |
| server/src/relay.ts | Forward/validate claim & sig fields |
| server/src/index.ts | Init ConnData with claim=null |
| SECURITY.md | Document new primitives/properties |
| README.md | Update project description + docs links |
| lib/test/session.test.ts | Test naming/wording adjustments |
| lib/test/identity.test.ts | Add identity/signature/fingerprint tests |
| lib/src/types.ts | Comment style tweaks |
| lib/src/session.ts | Swap to MlKemSuite + add identity |
| lib/src/keypair.ts | Update MlKem import path |
| lib/src/init.ts | Init mlkem/ed25519/blake3 WASM modules |
| lib/src/index.ts | Export identity types/APIs |
| lib/src/identity.ts | Implement claims/sigs/fingerprints |
| lib/package.json | Change leviathan-crypto dependency source |
| eslint.config.ts | Update tsconfigRootDir + ignores |
| docs/USAGE.md | Update usage docs for V3 features |
| docs/THREAT-MODEL.md | Update threat model for V3 |
| docs/recconnect_diagram.html | Copy edits to reconnect diagram |
| docs/README.md | Update docs index links |
| docs/PROTOCOL.md | Add identity-claims section |
| docs/protocol_diagram.html | Copy edits to protocol diagram |
| docs/CRYPTOGRAPHY.md | Add identity/signature spec details |
| docs/ascii | Add ANSI art source |
| docker/DOCKERHUB.md | Update DockerHub copy + version table |
| cli/src/ws.ts | Add claims/sigs + wire taps |
| cli/src/wireSummary.ts | Add CLI wire summarizer |
| cli/src/tui/screen.ts | Expand theme fields for sidebar |
| cli/src/tui/keys.ts | Comment wording tweaks |
| cli/src/tui/chat.ts | Export showModal from views |
| cli/src/tui/banner.ts | Generated banner module |
| cli/src/main.ts | Set process title |
| cli/src/init.ts | Init mlkem/ed25519/blake3 modules |
| cli/src/eventLog.ts | Add CLI event log ring buffer |
| cli/src/config.ts | Rename system flag + add sidebar config |
| cli/src/cipher-suites.ts | Worker spawn via temp file |
| cli/src/chacha/worker-bundle.ts | Regenerate bundled worker |
| cli/package.json | Change leviathan-crypto dependency source |
| cli/build.ts | Bundle banner + rename output binary |
| AGENTS.md | Update contributor/agent guidance |
| .gitignore | Replace CLAUDE.md ignore with .claude/ |
| .github/workflows/wiki.yml | Comment punctuation tweak |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.