summaryrefslogtreecommitdiffstats
Commit message (Expand)AuthorAgeFilesLines
* Merge branch 'feat/video-type-filter'Christophe Besson2026-08-2618-28/+531
|\
| * fix(video): a TMDB override never stored the metadata its chosen id namesChristophe Besson2026-08-262-0/+76
| * fix(video): let the toolbar wrap on mobile — no room left for the filter fieldChristophe Besson2026-08-261-0/+7
| * feat(video): add an All/Movies/Series filter to the toolbarChristophe Besson2026-08-2612-5/+85
| * fix(video): recognize "S1"/"S2"-style season folders, not just full wordsChristophe Besson2026-08-262-0/+27
| * fix(video): fix two remaining bugs in Specials numbering and long-season epis...Christophe Besson2026-08-264-33/+159
| * fix(video): group every episode under the show's own folder, not a per-file g...Christophe Besson2026-08-264-123/+146
| * fix(video): TMDB match cache never invalidated on movie<->show reclassificationChristophe Besson2026-08-262-2/+51
| * fix(video): a Specials/Bonus folder's episodes were matched to TMDB as unrela...Christophe Besson2026-08-262-10/+201
* | Merge branch 'fix/tmdb-override-metadata'Christophe Besson2026-08-262-0/+76
|\ \ | |/ |/|
| * fix(video): a TMDB override never stored the metadata its chosen id namesChristophe Besson2026-08-262-0/+76
|/
* Merge branch 'debug/webrtc-lock-resume'Christophe Besson2026-08-2619-18/+686
|\
| * feat(music): network-adaptive prefetch depth, opt-in keep-screen-on toggleChristophe Besson2026-08-2614-14/+133
| * fix(transport): reconnect used a fresh handshake token but a stale signaling oneChristophe Besson2026-08-261-0/+9
| * feat(music): prefetch 2 tracks ahead instead of 1Christophe Besson2026-08-261-4/+16
| * fix(transport): wake a backing-off reconnect on visibilitychange, fix listene...Christophe Besson2026-08-261-1/+39
| * fix(hub): no-store on the SPA HTML shell — pull-to-refresh wasn't enoughChristophe Besson2026-08-261-3/+15
| * fix(music): don't throw "Transport not connected" while a reconnect is landingChristophe Besson2026-08-262-14/+38
| * feat(video): hold a Screen Wake Lock while a video is openChristophe Besson2026-08-261-0/+43
| * fix(transport): auto-reconnect after WebRTC failure, without dropping in-flig...Christophe Besson2026-08-264-8/+224
| * debug(transport): opt-in WebRTC health tracing for mobile-lock investigationChristophe Besson2026-08-262-0/+195
|/
* Merge branch 'fix/mobile-tap-highlight'Christophe Besson2026-08-261-0/+10
|\
| * fix(hub): disable Android's default tap-highlight flashChristophe Besson2026-08-261-0/+10
|/
* Merge branch 'fix/mobile-sticky-hover-focus'Christophe Besson2026-08-261-2/+22
|\
| * fix(hub): stop hover/focus states from sticking on mobile touchChristophe Besson2026-08-261-2/+22
|/
* Merge branch 'fix/meta-lookup-by-file-id'Christophe Besson2026-08-268-104/+413
|\
| * fix(node,hub): key music/media metadata lookups by file_id, not pathChristophe Besson2026-08-268-104/+413
|/
* Merge branch 'feat/cross-group-file-cache'Christophe Besson2026-08-268-26/+475
|\
| * feat(node): share the (path,size,mtime)->hash index cache across every groupChristophe Besson2026-08-268-26/+475
|/
* Merge branch 'fix/wizard-apps-and-progress'Christophe Besson2026-08-254-29/+198
|\
| * fix(hub,node): Create Group wizard silently skipped apps, and lost track of s...Christophe Besson2026-08-254-29/+198
|/
* fix(node): fall back to a loose MusicBrainz query when the strict one finds n...Christophe Besson2026-08-255-16/+183
* feat(client): add app icon based on the MeshBay logoChristophe Besson2026-08-253-0/+17
* fix(node): make Photos/Video/Music enrichment survive node restartsChristophe Besson2026-08-257-34/+377
* feat: add Photos group appChristophe Besson2026-08-2537-110/+2301
* fix(node): scope _enriched_attempted by group, not just content hash0.7Christophe Besson2026-08-254-15/+79
* fix(hub): poll for a root count change instead of trusting one fetchChristophe Besson2026-08-251-2/+34
* fix(hub): keep an unmatched admin_challenge visible, add trace loggingChristophe Besson2026-08-242-1/+19
* fix(hub): make root-folder save success/failure actually visibleChristophe Besson2026-08-241-9/+10
* test(node): a real signed audio_root save through the full challenge pathChristophe Besson2026-08-241-3/+123
* fix(hub): key admin_challenge/admin_response by op, not arrival orderChristophe Besson2026-08-241-0/+69
* fix(hub): refresh directory list after adding/removing a shared rootChristophe Besson2026-08-242-1/+13
* docs(musicbay): note the audio_root amendment in the design docChristophe Besson2026-08-241-0/+10
* feat(hub): audio_root wiring, mutually-exclusive players, Settings reworkChristophe Besson2026-08-2415-92/+441
* feat(node): add audio_root, gate Music enrichment on it like video_rootChristophe Besson2026-08-249-41/+436
* fix(hub): give the Music flat list its own look instead of Videos' reskinChristophe Besson2026-08-242-33/+71
* fix(hub): starting one player stops the otherChristophe Besson2026-08-241-1/+8
* fix(hub): show what's actually playing in the queue panelChristophe Besson2026-08-242-0/+35
* feat(music): transcode WMA/Musepack to AAC so they actually playChristophe Besson2026-08-2417-16/+445
* fix(node): skip indexing audio files under 50KB, likely-corrupt sourceChristophe Besson2026-08-243-2/+58