| Commit message (Expand) | Author | Age | Files | Lines |
| ... | |
| * | fix(client): publish the real local IP on every platform, not just win32 | Christophe Besson | 2026-09-04 | 1 | -10/+16 |
| * | feat(packaging): put the bundled meshbay-node on the per-user PATH | Christophe Besson | 2026-09-04 | 3 | -5/+61 |
| * | feat: Windows installer (W4) — one per-user NSIS package, client + node | Christophe Besson | 2026-09-04 | 14 | -43/+838 |
| * | feat: Windows daemon lifecycle (W3) — Startup-folder autostart | Christophe Besson | 2026-09-04 | 6 | -17/+348 |
| * | 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 | 4 | -3/+17 |
| * | 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(client): resolve STUN hostnames in the main process | Christophe Besson | 2026-09-04 | 3 | -8/+65 |
| * | 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 | 5 | -3/+22 |
| * | refactor(node): platform abstraction for Windows portability (W1-W2-W5-W6-W7) | Christophe Besson | 2026-09-03 | 12 | -67/+183 |
| * | feat!: MNP 1.0 — seal index and handshake_ack under the group key | Christophe Besson | 2026-09-03 | 23 | -88/+1636 |
| * | docs: Windows port audit and sender key distribution decision | Christophe Besson | 2026-09-03 | 3 | -36/+542 |
| * | fix(node): reload the user manager before reload/restart-daemon | Christophe Besson | 2026-09-03 | 2 | -1/+23 |
| * | refactor(hub): drop the base64 chunk fallback and the dead HTTP file client | Christophe Besson | 2026-09-03 | 2 | -78/+29 |
| * | refactor!: one file_chunk and index_sync encoder for every transport | Christophe Besson | 2026-09-03 | 11 | -201/+379 |
| * | fix(hub): route the chat ack to the request that asked for it | Christophe Besson | 2026-09-03 | 4 | -0/+336 |
| * | 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 |
| * | chore(client): build against the latest Electron, and stop defining the packa... | Christophe Besson | 2026-09-03 | 4 | -26/+95 |
| * | chore(client): declare author and homepage in the client package.json | Christophe Besson | 2026-09-03 | 1 | -0/+2 |
| * | chore(client): clear 12 npm advisories — electron-builder 26, electron 42.11.1 | Christophe Besson | 2026-09-03 | 2 | -1946/+1022 |
| * | fix(hub): stop the maintenance loop racing the tests, and pin _ASSETS | Christophe Besson | 2026-09-02 | 8 | -5/+200 |
| * | fix(hub): merge duplicate sources in Search's Music and Photos too | Christophe Besson | 2026-09-02 | 21 | -246/+670 |
| * | fix(hub): one entry per file in the Search view's Videos grid | Christophe Besson | 2026-09-02 | 6 | -12/+762 |
| * | 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 | 5 | -31/+109 |
| * | fix(hub): a dismissed notification stays dismissed across a restart | Christophe Besson | 2026-09-02 | 2 | -2/+152 |
| * | fix(hub): a desktop solve reports no hostname at all, not "meshbay" | Christophe Besson | 2026-09-02 | 7 | -33/+168 |
| * | build(client): say when a build has reset the local chrome-sandbox | Christophe Besson | 2026-09-02 | 1 | -0/+20 |
| * | fix(packaging): ship the example hub config, and stop leaving /etc/meshbay open | Christophe Besson | 2026-09-02 | 4 | -12/+112 |
| * | fix(hub): check the captcha's origin here, so the desktop client can pass one | Christophe Besson | 2026-09-02 | 6 | -42/+314 |
| * | fix(hub): the Node page takes the width of a settings page | Christophe Besson | 2026-09-02 | 2 | -1/+181 |
| * | fix(hub): a show opens on its first season, not its first thumbnail | Christophe Besson | 2026-09-02 | 3 | -12/+156 |
| * | fix(hub): the show detail modal must not move when the season does | Christophe Besson | 2026-09-02 | 5 | -125/+484 |
| * | fix(hub): steady the show detail modal, and give a series its director | Christophe Besson | 2026-09-02 | 16 | -36/+730 |
| * | fix(hub): fall back to the group's first app when the landing tab is absent | Christophe Besson | 2026-09-02 | 4 | -1/+285 |
| * | Merge branch 'fix/chat-scroll-up' | Christophe Besson | 2026-09-01 | 5 | -22/+433 |
| |\ |
|
| | * | fix(hub): let the reader scroll up in the chat again | Christophe Besson | 2026-09-01 | 5 | -22/+433 |
| |/ |
|
| * | Merge branch 'fix/third-review-h1-h2-m1-m6' | Christophe Besson | 2026-09-01 | 27 | -181/+1818 |
| |\ |
|
| | * | revert(hub): M6 — add_group_member must keep accepting node tokens | Christophe Besson | 2026-09-01 | 3 | -37/+61 |
| | * | docs: mark M4 and M5 fixed in the third security review | Christophe Besson | 2026-09-01 | 1 | -25/+56 |
| | * | fix(hub): send a CSP and protective headers on every response | Christophe Besson | 2026-09-01 | 3 | -3/+110 |
| | * | fix(hub): constrain what a federated peer hub can do (MHP) | Christophe Besson | 2026-09-01 | 2 | -26/+277 |
| | * | docs: mark M3 fixed in the third security review | Christophe Besson | 2026-09-01 | 1 | -15/+38 |
| | * | fix(node): bound and tighten the chat link-preview SSRF surface | Christophe Besson | 2026-09-01 | 4 | -8/+173 |
| | * | docs: mark M2 fixed in the third security review | Christophe Besson | 2026-09-01 | 1 | -27/+40 |