| Commit message (Expand) | Author | Age | Files | Lines |
| * | fix(node): remove --upload-dir rather than document it | Christophe Besson | 2026-09-07 | 1 | -10/+8 |
| * | fix(node): `root list` printed "?" for every path | Christophe Besson | 2026-09-06 | 1 | -1/+5 |
| * | feat(node): an upload lands in the folder it was sent to | Christophe Besson | 2026-09-06 | 1 | -2/+1 |
| * | fix(node): the MNP root path never reloaded, and my first repair made it worse | Christophe Besson | 2026-09-06 | 1 | -32/+18 |
| * | fix(node): adding a root reached node.toml but not the running node | Christophe Besson | 2026-09-06 | 1 | -1/+22 |
| * | fix(client): a successful root op must never blank the operator's table | Christophe Besson | 2026-09-06 | 1 | -2/+12 |
| * | feat(node): Phase 2 server side — one directory setting for every app | Christophe Besson | 2026-09-06 | 1 | -53/+148 |
| * | fix(groups): finish Phase 1 — MNP root management, upload targets, eject state | Christophe Besson | 2026-09-06 | 1 | -23/+24 |
| * | feat: groups refactor Phase 1 — root RO/RW model + shared directories UI | Christophe Besson | 2026-09-06 | 1 | -48/+245 |
| * | fix(node): make init, node.toml editing and CLI output work on Windows | Christophe Besson | 2026-09-04 | 1 | -3/+5 |
| * | fix(node): pin utf-8 (and LF) on every text file the node reads or writes | Christophe Besson | 2026-09-04 | 1 | -9/+9 |
| * | fix(node): an invitation the hub never registered is a code nobody can use | Christophe Besson | 2026-09-03 | 1 | -7/+28 |
| * | fix(node): CLI member invite now registers hub membership and enforces code | Christophe Besson | 2026-09-01 | 1 | -0/+8 |
| * | fix(node): make WebRTC STUN fallback actually use every configured server | Christophe Besson | 2026-09-01 | 1 | -0/+2 |
| * | feat: passphrase change and account recovery (auth-confirm) | Christophe Besson | 2026-09-01 | 1 | -0/+10 |
| * | feat(ui): configurable ICE interfaces in the Node page | Christophe Besson | 2026-08-30 | 1 | -5/+12 |
| * | feat: configurable STUN server fallbacks for WebRTC ICE | Christophe Besson | 2026-08-30 | 1 | -9/+46 |
| * | feat(node): editable node settings in the Node page (D5) | Christophe Besson | 2026-08-29 | 1 | -1/+114 |
| * | fix(node): correct TMDB movie matching, per-file overrides, rematch | Christophe Besson | 2026-08-29 | 1 | -0/+25 |
| * | feat: node workflow redesign — wizard auto-config, reset, MusicBrainz contact | Christophe Besson | 2026-08-29 | 1 | -17/+9 |
| * | feat(node): share the (path,size,mtime)->hash index cache across every group | Christophe Besson | 2026-08-26 | 1 | -0/+60 |
| * | feat: add Photos group app | Christophe Besson | 2026-08-25 | 1 | -0/+24 |
| * | feat(node): add audio_root, gate Music enrichment on it like video_root | Christophe Besson | 2026-08-24 | 1 | -8/+21 |
| * | feat(node): Music app node-side — indexing, MusicBrainz enrichment, protocol | Christophe Besson | 2026-08-24 | 1 | -0/+42 |
| * | fix(node,hub): HEVC transcode fallback, live-add progress, per-group TMDB toggle | Christophe Besson | 2026-08-24 | 1 | -14/+29 |
| * | feat(node,hub): add Videos group app (poster grid, flat list, TMDB metadata) | Christophe Besson | 2026-08-24 | 1 | -0/+62 |
| * | feat(node): persistent index cache, visible scan progress, adaptive reconcile... | Christophe Besson | 2026-08-23 | 1 | -1/+59 |
| * | feat(hub): split the group UI into a pluggable "applications" architecture | Christophe Besson | 2026-08-23 | 1 | -0/+19 |
| * | feat: unified group management, public groups, and activity-based sidebar | Christophe Besson | 2026-08-20 | 1 | -28/+66 |
| * | feat(node): full Node admin panel — CLI parity, hot-reload, group lifecycle | Christophe Besson | 2026-08-20 | 1 | -16/+201 |
| * | feat(ui): 11-point UI overhaul — tabs, transfers, settings, uploads | Christophe Besson | 2026-08-19 | 1 | -8/+20 |
| * | feat(node): several named roots per group, and one implementation per operation | Christophe Besson | 2026-08-18 | 1 | -0/+487 |