aboutsummaryrefslogtreecommitdiffstats
Commit message (Expand)AuthorAgeFilesLines
* 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
* docs: update Phase 9 commit hash in devel-phases-nextChristophe Besson2026-08-111-1/+1
* feat: Phase 9 — Web client SPA with WebRTC P2P transportChristophe Besson2026-08-1127-316/+3039
* feat: Phase 9.1–9.5 — WebRTC DataChannel transport for browser P2PChristophe Besson2026-08-1015-172/+3045
* feat(hub): Phase 8 — Hub v2 security hardening + production readinessChristophe Besson2026-08-1020-90/+508
* feat: Phase 7 — Node v2 (multi-group, Sender Keys, 0-RTT, chat, denylist)Christophe Besson2026-08-1026-155/+2151
* docs: update draft v3 + phases-next with Phase 7 decisionsChristophe Besson2026-08-102-24/+87
* docs: add devel-phases-next.md — Phases 7-12 roadmapChristophe Besson2026-08-101-0/+149
* docs: add demo-v2 NAT findings to CLAUDE.mdChristophe Besson2026-08-101-0/+14
* docs: update devel-phases — demo-v2 NAT traversal QUIC validatedChristophe Besson2026-08-101-0/+4
* feat(node): punch_nat() — NAT traversal from QUIC server socketChristophe Besson2026-08-101-0/+16