| Commit message (Expand) | Author | Age | Files | Lines |
| * | 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 |
| * | Merge remote-tracking branch 'origin/main' | Christophe Besson | 2026-08-29 | 1 | -0/+30 |
| |\ |
|
| | * | feat(node): editable node settings in the Node page (D5) | Christophe Besson | 2026-08-29 | 1 | -0/+30 |
| * | | fix(node): stop a movie with a mangled quality tag being shelved as a series | Christophe Besson | 2026-08-29 | 1 | -0/+16 |
| |/ |
|
| * | feat: V13 — per-card "re-match this one file" (MNP 0.13) | Christophe Besson | 2026-08-29 | 1 | -8/+8 |
| * | fix(node): correct TMDB movie matching, per-file overrides, rematch | Christophe Besson | 2026-08-29 | 1 | -0/+27 |
| * | docs: draft v6 — instance policy, per-owner group names, chat link previews | Christophe Besson | 2026-08-28 | 1 | -2/+103 |
| * | feat: add Photos group app | Christophe Besson | 2026-08-25 | 2 | -4/+488 |
| * | docs(musicbay): note the audio_root amendment in the design doc | Christophe Besson | 2026-08-24 | 1 | -0/+10 |
| * | feat(music): transcode WMA/Musepack to AAC so they actually play | Christophe Besson | 2026-08-24 | 1 | -0/+32 |
| * | docs: plan the Music group app (musicbay.md) | Christophe Besson | 2026-08-24 | 2 | -5/+419 |
| * | fix(node,hub): HEVC transcode fallback, live-add progress, per-group TMDB toggle | Christophe Besson | 2026-08-24 | 1 | -9/+51 |
| * | feat(node,hub): season-specific overviews, manual TMDB match correction, and ... | Christophe Besson | 2026-08-24 | 2 | -7/+92 |
| * | feat(node,hub): add Videos group app (poster grid, flat list, TMDB metadata) | Christophe Besson | 2026-08-24 | 3 | -15/+193 |
| * | docs: add Videos app design (mediacenter.md) | Christophe Besson | 2026-08-23 | 1 | -0/+487 |
| * | feat(hub): split the group UI into a pluggable "applications" architecture | Christophe Besson | 2026-08-23 | 2 | -0/+234 |
| * | feat: LAN Wi-Fi casting to Chromecast via local HTTP relay | Christophe Besson | 2026-08-21 | 1 | -0/+176 |
| * | feat(node): the operator can close uploading to everyone but themselves | Christophe Besson | 2026-08-18 | 2 | -0/+51 |
| * | fix(client): a film can go full-screen, and automatic saving is automatic | Christophe Besson | 2026-08-18 | 1 | -1/+12 |
| * | fix(client): downloads stream to disk, and two rough edges on first run | Christophe Besson | 2026-08-18 | 1 | -1/+1 |
| * | docs: D4 verified end to end — relaunch signs in with no passphrase | Christophe Besson | 2026-08-18 | 1 | -1/+1 |
| * | fix(client): three defects a real desktop found in ten minutes | Christophe Besson | 2026-08-18 | 1 | -2/+2 |
| * | feat(client): hybrid sign-in — passphrase once, then this device's key | Christophe Besson | 2026-08-18 | 1 | -1/+1 |
| * | fix(client): the desktop client runs, and running it corrected three things | Christophe Besson | 2026-08-18 | 1 | -1/+36 |
| * | feat(client): the platform seam, and an Electron shell that has never been run | Christophe Besson | 2026-08-18 | 1 | -4/+4 |
| * | feat: device linking, and signing in to the hub with a device key | Christophe Besson | 2026-08-18 | 1 | -4/+12 |
| * | docs: settle the desktop client, and draft v6 | Christophe Besson | 2026-08-18 | 3 | -8/+1395 |
| * | docs: sessions renew themselves, and two faults of the same shape0.5 | Christophe Besson | 2026-08-17 | 1 | -9/+28 |
| * | docs: what this session cost to find | Christophe Besson | 2026-08-16 | 1 | -12/+46 |
| * | docs: record which download paths have actually been run | Christophe Besson | 2026-08-15 | 1 | -0/+15 |
| * | fix: stop a stream on close, count only real users, record where a node is | Christophe Besson | 2026-08-15 | 1 | -0/+28 |
| * | feat(groups): remove a member, and keep gigabytes out of the tab | Christophe Besson | 2026-08-15 | 1 | -4/+45 |
| * | fix(downloads): automatic really is automatic, and a selection downloads all ... | Christophe Besson | 2026-08-15 | 1 | -0/+11 |