| Commit message (Expand) | Author | Age | Files | Lines |
| * | feat(chat): Tier 2 — a member verifies another member's device itself | Christophe Besson | 2026-09-07 | 1 | -35/+77 |
| * | Merge origin/main into the chat encryption work | Christophe Besson | 2026-09-07 | 2 | -2/+2 |
| |\ |
|
| | * | feat(mnp)!: seal the upload under the group key | Christophe Besson | 2026-09-07 | 1 | -1/+1 |
| | * | refactor(mnp)!: remove stream_seg, the last unencrypted content message | Christophe Besson | 2026-09-07 | 1 | -1/+1 |
| * | | feat(chat): encrypt group chat under per-device epoch keys (MNP 2.0) | Christophe Besson | 2026-09-07 | 3 | -27/+863 |
| |/ |
|
| * | fix(node): remove --upload-dir rather than document it | Christophe Besson | 2026-09-07 | 1 | -0/+10 |
| * | chore(node): finish Phase 3 — CLI deprecations, Windows shapes, docs | Christophe Besson | 2026-09-07 | 1 | -4/+67 |
| * | feat(node): an upload lands in the folder it was sent to | Christophe Besson | 2026-09-06 | 1 | -2/+12 |
| * | docs(groups): the upload-policy migration is not optional after all | Christophe Besson | 2026-09-06 | 1 | -2/+15 |
| * | feat(client): Phase 2 — per-app settings panes, folder tree, multi-directory | Christophe Besson | 2026-09-06 | 2 | -6/+123 |
| * | fix(groups): finish Phase 1 — MNP root management, upload targets, eject state | Christophe Besson | 2026-09-06 | 3 | -39/+177 |
| * | feat: groups refactor Phase 1 — root RO/RW model + shared directories UI | Christophe Besson | 2026-09-06 | 1 | -0/+657 |
| * | feat(node): indexing v2 — partial-read hashing for files above 40 MB | Christophe Besson | 2026-09-06 | 1 | -0/+312 |
| * | feat(client): system tray on Windows, and a clearer tray icon | Christophe Besson | 2026-09-05 | 1 | -3/+29 |
| * | fix(win): graceful shutdown, one startup-mode control, and a stray-\r bug | Christophe Besson | 2026-09-05 | 2 | -44/+273 |
| * | feat(packaging): bundle ffmpeg in the Windows installer by default | Christophe Besson | 2026-09-05 | 2 | -6/+9 |
| * | feat: opt-in Windows service mode (boot-time, one elevation) + v1.0.0 | Christophe Besson | 2026-09-04 | 1 | -10/+28 |
| * | feat(packaging): offer one elevated firewall step instead of two dialogs | Christophe Besson | 2026-09-04 | 1 | -3/+10 |
| * | fix: drop the retired Mozilla STUN server from the defaults | Christophe Besson | 2026-09-04 | 1 | -4/+8 |
| * | feat(packaging): ship a node firewall profile for inbound WebRTC | Christophe Besson | 2026-09-04 | 1 | -0/+30 |
| * | fix(node): make ice_interfaces match adapters on Windows (W9) | Christophe Besson | 2026-09-04 | 1 | -1/+27 |
| * | feat: Windows installer (W4) — one per-user NSIS package, client + node | Christophe Besson | 2026-09-04 | 2 | -40/+97 |
| * | feat!: MNP 1.0 — seal index and handshake_ack under the group key | Christophe Besson | 2026-09-03 | 1 | -1/+1 |
| * | docs: Windows port audit and sender key distribution decision | Christophe Besson | 2026-09-03 | 2 | -33/+535 |
| * | fix(hub): stop the maintenance loop racing the tests, and pin _ASSETS | Christophe Besson | 2026-09-02 | 5 | -4/+146 |
| * | fix(hub): merge duplicate sources in Search's Music and Photos too | Christophe Besson | 2026-09-02 | 1 | -23/+43 |
| * | fix(hub): one entry per file in the Search view's Videos grid | Christophe Besson | 2026-09-02 | 1 | -6/+20 |
| * | docs: plan for merging duplicate sources in the Search view | Christophe Besson | 2026-09-02 | 1 | -0/+376 |
| * | fix(hub): dismissing a notification deletes it | Christophe Besson | 2026-09-02 | 1 | -4/+6 |
| * | fix(hub): a desktop solve reports no hostname at all, not "meshbay" | Christophe Besson | 2026-09-02 | 1 | -18/+41 |
| * | fix(hub): check the captcha's origin here, so the desktop client can pass one | Christophe Besson | 2026-09-02 | 1 | -39/+71 |
| * | fix(hub): a show opens on its first season, not its first thumbnail | Christophe Besson | 2026-09-02 | 1 | -2/+23 |
| * | fix(hub): the show detail modal must not move when the season does | Christophe Besson | 2026-09-02 | 1 | -8/+35 |
| * | fix(hub): steady the show detail modal, and give a series its director | Christophe Besson | 2026-09-02 | 1 | -5/+63 |
| * | revert(hub): M6 — add_group_member must keep accepting node tokens | Christophe Besson | 2026-09-01 | 1 | -25/+36 |
| * | docs: mark M4 and M5 fixed in the third security review | Christophe Besson | 2026-09-01 | 1 | -25/+56 |
| * | docs: mark M3 fixed in the third security review | Christophe Besson | 2026-09-01 | 1 | -15/+38 |
| * | docs: mark M2 fixed in the third security review | Christophe Besson | 2026-09-01 | 1 | -27/+40 |
| * | docs: add third security review (2026-09-01) | Christophe Besson | 2026-09-01 | 1 | -0/+635 |
| * | docs: move root docs into docs/ and archive superseded drafts | Christophe Besson | 2026-09-01 | 14 | -5445/+7264 |
| * | refactor(node): JSON-only control API, Node page absorbs the admin dashboard | Christophe Besson | 2026-09-01 | 5 | -24/+434 |
| * | feat(hub): reCAPTCHA v2 on Register and Password Reset pages | Christophe Besson | 2026-09-01 | 1 | -0/+490 |
| * | feat: passphrase change and account recovery (auth-confirm) | Christophe Besson | 2026-09-01 | 1 | -0/+548 |
| * | feat: email verification for registration, email change, and invitations | Christophe Besson | 2026-08-31 | 1 | -0/+218 |
| * | chore: bump version to 0.9.0v0.9.0 | Christophe Besson | 2026-08-31 | 2 | -9/+9 |
| * | docs: add PACKAGING-GUIDE.md with install steps for Ubuntu and Fedora | Christophe Besson | 2026-08-31 | 1 | -0/+190 |
| * | docs: add §2.12 STUN fallbacks and ICE filtering to draft v6 | Christophe Besson | 2026-08-30 | 1 | -0/+60 |
| * | chore: scrub copyrighted names from tests, comments and docs | Christophe Besson | 2026-08-30 | 1 | -14/+13 |
| * | fix(node): stop a numbered saga all matching its first film | Christophe Besson | 2026-08-30 | 1 | -0/+13 |
| * | revert(hub): drop the poster-grid movie merge (V12) | Christophe Besson | 2026-08-30 | 1 | -1/+1 |