| Commit message (Expand) | Author | Age | Files | Lines |
| * | docs: AV13–AV15, and two lessons from how they were found | Christophe Besson | 13 days | 1 | -2/+15 |
| * | docs: AV9–AV12, and the two shapes that keep producing them | Christophe Besson | 13 days | 1 | -1/+21 |
| * | docs: availability between members is a finding category | Christophe Besson | 13 days | 1 | -0/+29 |
| * | fix: an empty group claim is a claim on nothing | Christophe Besson | 13 days | 2 | -2/+20 |
| * | fix(hub): an administrator can erase an account that owns groups | Christophe Besson | 2026-09-11 | 1 | -5/+19 |
| * | fix(hub): the asset fingerprint covers every file under static/ | Christophe Besson | 2026-09-11 | 2 | -4/+6 |
| * | docs: remove the documents MESHBAY_DESIGN.md replaces | Christophe Besson | 2026-09-11 | 27 | -19148/+29 |
| * | docs(guide): mark USERGUIDE.md deprecated | Christophe Besson | 2026-09-10 | 2 | -1/+30 |
| * | fix(node): the handshake ack dropped one app's directories | Christophe Besson | 2026-09-10 | 1 | -1/+23 |
| * | docs: point the superseded drafts at the design document | Christophe Besson | 2026-09-10 | 23 | -10/+255 |
| * | docs(mnp): the protocol reference, brought to the cleanup push | Christophe Besson | 2026-09-10 | 2 | -0/+2713 |
| * | docs: MESHBAY_DESIGN.md — one reference for the design | Christophe Besson | 2026-09-10 | 2 | -0/+3787 |
| * | feat(hub): pin the app controls while a library scrolls | Christophe Besson | 2026-09-10 | 1 | -1/+16 |
| * | fix(node): a video the browser cannot decode is re-encoded, not refused | Christophe Besson | 2026-09-09 | 1 | -1/+1 |
| * | fix(spa): a reconnect must give the Chat composer back | Christophe Besson | 2026-09-09 | 1 | -1/+2 |
| * | feat(client): create the system tray at launch, not on first minimise | Christophe Besson | 2026-09-08 | 1 | -0/+33 |
| * | feat(hub): cap a directory zip at 512 MB | Christophe Besson | 2026-09-08 | 1 | -1/+6 |
| * | fix(hub): stop badging every poster "unmatched" when TMDB is off | Christophe Besson | 2026-09-08 | 1 | -0/+45 |
| * | 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 |