aboutsummaryrefslogtreecommitdiffstats
Commit message (Expand)AuthorAgeFilesLines
* docs: Argon2id, the multi-browser property, and what a browser foundChristophe Besson2026-08-145-37/+139
* perf(client): bundle KDF to 128 MB, and derive it once per sign-inChristophe Besson2026-08-145-14/+37
* feat(client): Argon2id for the keypair bundle, and remove the backup toggleChristophe Besson2026-08-149-100/+315
* feat(client): make the key backup a choice, and raise the passphrase floorChristophe Besson2026-08-146-11/+190
* test: prove a second browser works after pairingChristophe Besson2026-08-141-0/+16
* fix(client): recover identity keys from what the browser already hasChristophe Besson2026-08-141-0/+40
* fix(client): capture the challenge values before joining, not afterChristophe Besson2026-08-142-8/+100
* fix(client): refresh the token when the node says "not a member"Christophe Besson2026-08-145-13/+87
* fix(node): keep reading the hub socket while negotiating WebRTCChristophe Besson2026-08-142-11/+67
* fix(node): announce the node key in the challenge, and keep names in the rosterChristophe Besson2026-08-147-32/+105
* docs: record the invite redesign — H3 and M3 closedChristophe Besson2026-08-145-98/+226
* feat(node): operator surface — member list, invite, revoke, unpin over SSHChristophe Besson2026-08-147-14/+499
* feat(node)!: the node wraps the group key — closes H3 and M3Christophe Besson2026-08-1418-285/+2637
* test(node): allocate daemon test ports instead of hardcoding 28000Christophe Besson2026-08-141-3/+17
* feat(node): CLI for headless operators — status, ui, gek-initChristophe Besson2026-08-133-10/+153
* feat(node): keep the daemon alive when the hub rejects credentialsChristophe Besson2026-08-131-8/+22
* test: JS/Python transcript parity across the language boundaryChristophe Besson2026-08-131-0/+175
* docs: draft-v5 — mark C6, M8 and 11.5.8 closedChristophe Besson2026-08-131-12/+29
* feat(client): pin node identities on first use — closes 11.5.8Christophe Besson2026-08-132-0/+24
* fix(hub): require proof of possession on node announce — closes M8Christophe Besson2026-08-135-13/+232
* feat(quic): GEK proof and mutual authentication — closes C6Christophe Besson2026-08-133-8/+186
* docs: record 11.5.6 spike — QUIC channel binding constraintsChristophe Besson2026-08-131-1/+39
* docs: draft-v5 architecture specChristophe Besson2026-08-133-2/+345
* docs: rework Phase 12 — hub minimization deferred by operator decisionChristophe Besson2026-08-132-48/+69
* refactor(quic): share the unified handshake authorizationChristophe Besson2026-08-132-25/+36
* feat(mnp): unified handshake with mutual authenticationChristophe Besson2026-08-137-123/+680
* fix: resource limits, signaling authz, node admin UI tokenChristophe Besson2026-08-137-32/+380
* fix: swarm privacy, revocation persistence, keystore KDF, audit integrityChristophe Besson2026-08-1314-66/+406
* fix(hub): authenticate node WebSocket registrationChristophe Besson2026-08-132-13/+256
* fix(node): group isolation, upload confinement, GEK seizure, admin challengeChristophe Besson2026-08-1311-155/+919
* fix(node)!: remove unauthenticated HTTP file API and TCP transportChristophe Besson2026-08-1312-1346/+45
* docs: second security review + roadmap rewrite0.1Christophe Besson2026-08-134-59/+1451
* feat: Phase 12 — P2P crypto material, password split, node Ed25519 authChristophe Besson2026-08-1330-787/+3584
* feat(node): audit logging + local admin UI rewriteChristophe Besson2026-08-115-133/+705
* feat(node): index push to WebRTC peers + swarm registration (11.5, 11.9)Christophe Besson2026-08-114-18/+189
* feat(node): Phase 11 — production-ready daemon with WebRTC, WS, chat, HTTPChristophe Besson2026-08-117-65/+454
* fix(ui): reduce upload chunk size to 48KB to fit aiortc SCTP limitChristophe Besson2026-08-111-1/+1
* fix(ui): set MediaSource duration from ffprobe and clamp seeks to buffered rangeChristophe Besson2026-08-111-5/+23
* fix(ui): remove duplicate connecting messages and buggy stream progress barChristophe Besson2026-08-112-52/+4
* docs: add Phases 11–17 roadmap (node daemon, CLI, Sender Keys, Android, pac...Christophe Besson2026-08-111-31/+155
* feat: Phase 10c — MSE video streaming (real-time playback)Christophe Besson2026-08-119-54/+467
* fix(hub): move _handle_chat_notify before @router.websocket decoratorChristophe Besson2026-08-111-1/+1
* feat: chat notifications via hub, file delete, upload fix, cached display, in...Christophe Besson2026-08-112-0/+48
* fix(ui): upload chunk size, cached file display, chat names, file delete, inl...Christophe Besson2026-08-117-26/+179
* fix(node): iterate dict copies in WebRTC peer broadcast and close_allChristophe Besson2026-08-111-2/+2
* fix(ui): group creation error, chat UUIDs, file preview, action menuChristophe Besson2026-08-115-53/+428
* feat: Phase 10b — Self-service UI (group create/join, upload, IndexedDB, se...Christophe Besson2026-08-1113-15/+974
* feat(hub): Phase 10.5–10.8, 10.10 — notifications, settings, search, versionChristophe Besson2026-08-1113-29/+543
* docs: update Phase 10 commit hash, API reference, key modulesChristophe Besson2026-08-113-6/+25
* feat(hub): Phase 10.1–10.4 — Site overlay + admin/moderation UIChristophe Besson2026-08-1115-34/+1646