summaryrefslogtreecommitdiffstats
Commit message (Expand)AuthorAgeFilesLines
* 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 '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
* feat(node): recognize WMA and Musepack as audio, read their real tag keysChristophe Besson2026-08-244-15/+261
* fix(hub): auto-skip a track that fails to load instead of stalling the queueChristophe Besson2026-08-2411-1/+45
* feat(hub): play audio files from Explorer, scoped to the current folderChristophe Besson2026-08-243-6/+23
* feat(hub): consolidate loose tracks, "&"/"and" fold, player close/queueChristophe Besson2026-08-2416-45/+188
* feat(hub): draw an actual CD for covers with no art, not a flat iconChristophe Besson2026-08-243-22/+68
* feat(hub): big monochrome disc placeholder for covers with no artChristophe Besson2026-08-243-2/+19
* fix(hub): repair NUL-byte corruption in music-app.js, simplify groupingChristophe Besson2026-08-241-0/+0
* fix(hub): fold case/whitespace in album grouping, flatten loose tracksChristophe Besson2026-08-241-0/+0
* fix(node): stop inventing a fake artist from the shared root's nameChristophe Besson2026-08-244-29/+345