| Commit message (Expand) | Author | Age | Files | Lines |
| * | fix(node): make ice_interfaces match adapters on Windows (W9) | Christophe Besson | 2026-09-04 | 3 | -19/+267 |
| * | feat(packaging): put the bundled meshbay-node on the per-user PATH | Christophe Besson | 2026-09-04 | 1 | -0/+22 |
| * | feat: Windows installer (W4) — one per-user NSIS package, client + node | Christophe Besson | 2026-09-04 | 1 | -0/+153 |
| * | feat: Windows daemon lifecycle (W3) — Startup-folder autostart | Christophe Besson | 2026-09-04 | 4 | -14/+235 |
| * | fix(node): run on the default Windows event loop (Proactor) | Christophe Besson | 2026-09-04 | 3 | -20/+28 |
| * | fix: tolerate clock skew when verifying JWTs (leeway 60s) | Christophe Besson | 2026-09-04 | 2 | -1/+5 |
| * | fix(node): MESHBAY_NODE_EVENT_LOOP=proactor to opt out of the selector loop | Christophe Besson | 2026-09-04 | 1 | -5/+11 |
| * | fix(node): make init, node.toml editing and CLI output work on Windows | Christophe Besson | 2026-09-04 | 4 | -7/+68 |
| * | test(node): make the suite pass on Windows | Christophe Besson | 2026-09-04 | 15 | -29/+167 |
| * | fix(node): pin utf-8 (and LF) on every text file the node reads or writes | Christophe Besson | 2026-09-04 | 6 | -25/+25 |
| * | fix(node): select the Windows-compatible event loop before asyncio.run | Christophe Besson | 2026-09-04 | 2 | -0/+22 |
| * | test: add pytest-timeout and pin the Windows selector event loop | Christophe Besson | 2026-09-04 | 1 | -1/+1 |
| * | refactor(node): platform abstraction for Windows portability (W1-W2-W5-W6-W7) | Christophe Besson | 2026-09-03 | 11 | -57/+157 |
| * | feat!: MNP 1.0 — seal index and handshake_ack under the group key | Christophe Besson | 2026-09-03 | 9 | -61/+462 |
| * | fix(node): reload the user manager before reload/restart-daemon | Christophe Besson | 2026-09-03 | 2 | -1/+23 |
| * | refactor!: one file_chunk and index_sync encoder for every transport | Christophe Besson | 2026-09-03 | 8 | -183/+277 |
| * | test(node): check where the systemd units are staged, not what the spec says | Christophe Besson | 2026-09-03 | 1 | -10/+38 |
| * | fix(node): an invitation the hub never registered is a code nobody can use | Christophe Besson | 2026-09-03 | 3 | -8/+96 |
| * | fix(hub): steady the show detail modal, and give a series its director | Christophe Besson | 2026-09-02 | 2 | -0/+111 |
| * | fix(node): bound and tighten the chat link-preview SSRF surface | Christophe Besson | 2026-09-01 | 4 | -8/+173 |
| * | fix(node): bring the QUIC chat and stream handlers to WebRTC parity | Christophe Besson | 2026-09-01 | 1 | -49/+95 |
| * | feat(node): [node] quic_enabled flag, off by default | Christophe Besson | 2026-09-01 | 3 | -2/+75 |
| * | chore: release 0.10.00.10 | Christophe Besson | 2026-09-01 | 2 | -3/+3 |
| * | refactor(node): JSON-only control API, Node page absorbs the admin dashboard | Christophe Besson | 2026-09-01 | 7 | -731/+150 |
| * | fix(node): CLI member invite now registers hub membership and enforces code | Christophe Besson | 2026-09-01 | 3 | -15/+39 |
| * | fix(node): make WebRTC STUN fallback actually use every configured server | Christophe Besson | 2026-09-01 | 6 | -3/+309 |
| * | feat: passphrase change and account recovery (auth-confirm) | Christophe Besson | 2026-09-01 | 6 | -19/+167 |
| * | chore: bump version to 0.9.0v0.9.0 | Christophe Besson | 2026-08-31 | 2 | -3/+3 |
| * | feat(ui): configurable ICE interfaces in the Node page | Christophe Besson | 2026-08-30 | 3 | -14/+26 |
| * | feat: configurable STUN server fallbacks for WebRTC ICE | Christophe Besson | 2026-08-30 | 7 | -15/+151 |
| * | chore: scrub copyrighted names from tests, comments and docs | Christophe Besson | 2026-08-30 | 6 | -29/+30 |
| * | fix(node): stop a numbered saga all matching its first film | Christophe Besson | 2026-08-30 | 2 | -11/+36 |
| * | Merge remote-tracking branch 'origin/main' | Christophe Besson | 2026-08-29 | 5 | -1/+215 |
| |\ |
|
| | * | feat(node): editable node settings in the Node page (D5) | Christophe Besson | 2026-08-29 | 5 | -1/+215 |
| * | | fix(node): stop a movie with a mangled quality tag being shelved as a series | Christophe Besson | 2026-08-29 | 4 | -2/+94 |
| |/ |
|
| * | fix: on restart, serve a video's cached TMDB match instead of re-searching | Christophe Besson | 2026-08-29 | 2 | -12/+93 |
| * | feat: V13 — per-card "re-match this one file" (MNP 0.13) | Christophe Besson | 2026-08-29 | 4 | -0/+221 |
| * | feat(node): V8–V11 — show-branch ladder, year-aware _best_match, wider se... | Christophe Besson | 2026-08-29 | 6 | -89/+340 |
| * | Merge branch 'fix/videos-tmdb-matching' | Christophe Besson | 2026-08-29 | 13 | -24/+663 |
| |\ |
|
| | * | fix(node): correct TMDB movie matching, per-file overrides, rematch | Christophe Besson | 2026-08-29 | 13 | -24/+663 |
| * | | perf(node): filter ICE interfaces to eliminate 5s STUN timeout on VPN/virtual... | Christophe Besson | 2026-08-29 | 3 | -0/+102 |
| |/ |
|
| * | feat: node workflow redesign — wizard auto-config, reset, MusicBrainz contact | Christophe Besson | 2026-08-29 | 11 | -343/+264 |
| * | fix(node): a pinned device can be invited to a further invite-only group | Christophe Besson | 2026-08-28 | 2 | -6/+123 |
| * | chore: release 0.8.00.8 | Christophe Besson | 2026-08-28 | 2 | -3/+3 |
| * | feat(chat): link previews for pasted URLs | Christophe Besson | 2026-08-28 | 4 | -1/+582 |
| * | fix(music): stop sharing one folder's cover across unrelated tracks, and merg... | Christophe Besson | 2026-08-26 | 2 | -0/+55 |
| * | fix(video): a TMDB override never stored the metadata its chosen id names | Christophe Besson | 2026-08-26 | 2 | -0/+76 |
| * | fix(video): recognize "S1"/"S2"-style season folders, not just full words | Christophe Besson | 2026-08-26 | 2 | -0/+27 |
| * | fix(video): fix two remaining bugs in Specials numbering and long-season epis... | Christophe Besson | 2026-08-26 | 4 | -33/+159 |
| * | fix(video): group every episode under the show's own folder, not a per-file g... | Christophe Besson | 2026-08-26 | 4 | -123/+146 |