jeffvli
cae2135c3b
fix title combined column trackSubtitle wrapping instead of truncating
2026-07-11 14:22:08 -07:00
jeffvli
1c659cc693
format playlist header title without folder names
2026-07-11 13:50:08 -07:00
jeffvli
b8daaf49b0
default sidebarPlaylistFolders setting to false
2026-07-11 13:46:56 -07:00
jeffvli
58ae496e05
fix item table scroll sync when pinned columns change
2026-07-11 13:33:42 -07:00
jeffvli
641e938f86
fix album group row height resetting on song change
2026-07-11 12:14:39 -07:00
jeffvli
bb2bae163c
fix animation not triggering on delayed romaji generation
2026-07-11 12:04:03 -07:00
jeffvli
308a94d3b6
ensure savePlayQueueByIndex uses a valid currentIndex
2026-07-11 12:02:05 -07:00
jeffvli
53c8841fd6
revert to custom cubic-bezier transition for lyric lines
2026-07-11 11:56:08 -07:00
jeffvli
8dd5a90582
fix alpha updater rolling back to previous stable version ( #2217 )
2026-07-11 11:48:14 -07:00
Hosted Weblate
9f7178a15b
Translated using Weblate
...
Currently translated at 100.0% (1303 of 1303 strings) (Chinese (Traditional Han script))
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hant/
Translated using Weblate
Currently translated at 100.0% (1301 of 1301 strings) (Chinese (Traditional Han script))
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hant/
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: York <goog10216922@gmail.com >
2026-07-11 05:26:53 +00:00
jeffvli
3f9fa0b208
additional type fix for album group
2026-07-10 22:25:59 -07:00
jeffvli
573396700d
fix type for album group
2026-07-10 21:27:23 -07:00
jeffvli
b834d8eade
adjust padding and text styles for album group
2026-07-10 19:49:07 -07:00
jeffvli
d40530b7f6
add additional album group metadata rows
2026-07-10 19:49:07 -07:00
jeffvli
857c8187b5
fix subtle inconsistent highlight color on animating lyric
2026-07-10 19:49:07 -07:00
Hosted Weblate
a1b83f57b0
Translated using Weblate
...
Currently translated at 100.0% (1297 of 1297 strings) (Czech)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translated using Weblate
Currently translated at 100.0% (1297 of 1297 strings) (Chinese (Traditional Han script))
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hant/
Translated using Weblate
Currently translated at 99.6% (1292 of 1297 strings) (Polish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/
Translated using Weblate
Currently translated at 100.0% (1297 of 1297 strings) (Spanish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org >
Co-authored-by: Fordas <fordas15@gmail.com >
Co-authored-by: York <goog10216922@gmail.com >
Co-authored-by: skajmer <skajmer@protonmail.com >
2026-07-11 03:25:45 +02:00
jeffvli
9b3a47a27f
fix scroll follow pause on manual scroll
2026-07-10 18:24:17 -07:00
jeffvli
aea5a880ea
reduce opacity of fullscreen player header when not hovered
2026-07-10 15:16:14 -07:00
jeffvli
b4e530ea07
support additional lyric layers ( #2211 )
2026-07-10 15:12:17 -07:00
jeffvli
908e83a2f8
fix missing spaces between ttml word cues ( #2214 )
2026-07-10 12:48:34 -07:00
jeffvli
00506d06f1
fix inactive lyric color and slow down transitions
2026-07-10 11:48:19 -07:00
jeffvli
964e6f491a
remove remote requirement for lyrics match display
2026-07-10 11:32:46 -07:00
jeffvli
7c1893f7f5
remove lyrics blur animation
2026-07-10 10:16:14 -07:00
jeffvli
5cfb80f75b
fix lint
2026-07-10 02:21:17 -07:00
jeffvli
5804eb3215
fix queue scroll follow with album group
2026-07-10 02:13:52 -07:00
jeffvli
67a2be1559
add additional height calculation for album group
2026-07-10 01:45:39 -07:00
jeffvli
f957fb0a05
on mediaNext, trigger stop on last track if repeat disabled
2026-07-10 01:12:26 -07:00
jeffvli
8fc30e6936
add links, favorite, rating to album group column ( #2139 )
...
- additionally fix drop and drop interactions
2026-07-10 00:59:07 -07:00
jeffvli
57155e15ed
add missing album gain to Jellyfin ( #2199 )
2026-07-09 22:03:02 -07:00
jeffvli
7d4c55fc37
fix JoinedArtists not truncating on ItemCard
2026-07-09 21:52:35 -07:00
jeffvli
f91b58ea5b
disable useTransition from router
2026-07-09 21:37:29 -07:00
Jeff
355b19c1cb
Add support for OpenSubsonic enhanced lyrics ( #2208 )
2026-07-09 21:32:05 -07:00
mannansainidev
0c89fea1ea
feat: add jukebox player engine for server-side playback ( #2109 )
...
* feat: add jukebox player engine for server-side playback
---------
Co-authored-by: jeffvli <jeffvictorli@gmail.com >
2026-07-09 21:29:22 -07:00
Logan Rupe
dd136f91e6
feat(player): right-click volume icon to switch audio output device ( #2189 )
...
* feat(player): add right-click audio output device menu to volume icon
Right-clicking the volume/speaker icon in the player bar now opens a
context menu listing available audio output devices, with the active
device checkmarked and a System default reset option.
Selecting a device writes to the existing audioDeviceId (web) or
mpvAudioDeviceId (mpv) playback settings, so the choice is applied live
and persisted across restarts via the settings store. Unlike the
settings-page selector, the menu is not disabled during playback.
* refactor(player): drop redundant audio menu label, document wrapper div
Address review feedback: remove the self-explanatory ContextMenu.Label
from the audio output menu, and add a comment explaining why the volume
icon is wrapped in a div (Mantine Tooltip does not forward Radix's
asChild onContextMenu/ref to the button).
2026-07-09 21:11:10 -07:00
vimae
c64807cf94
feat: musical speed controls ( #2191 )
...
* feat: musical speed controls
2026-07-09 21:06:46 -07:00
jeffvli
e3c2605e1d
trigger stop event on queue end
2026-07-09 20:51:19 -07:00
Hosted Weblate
511875689a
Translated using Weblate
...
Currently translated at 100.0% (1290 of 1290 strings) (Czech)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translated using Weblate
Currently translated at 100.0% (1290 of 1290 strings) (Chinese (Traditional Han script))
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hant/
Translated using Weblate
Currently translated at 97.0% (1252 of 1290 strings) (French)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/fr/
Translated using Weblate
Currently translated at 100.0% (1290 of 1290 strings) (Spanish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org >
Co-authored-by: Fordas <fordas15@gmail.com >
Co-authored-by: KosmoMoustache <kosmomoustache@users.noreply.hosted.weblate.org >
Co-authored-by: linger <linger0517@gmail.com >
2026-07-07 07:01:45 +00:00
Kendall Garner
554e49cb85
note that sso is not supported for ND auth
2026-07-05 21:50:22 -07:00
jeffvli
7b5df97fa0
fix list select all hotkey ( #2195 )
2026-07-05 21:25:18 -07:00
Maurits
2ad4c58dcd
fix: startup resume-seek cancelled when shuffle is enabled ( #2203 )
...
applyStartupSeek() compared the armed target song against
getQueue().items[player.index], but player.index is a position in the
shuffled order while getQueue().items is always the default order. With
shuffle enabled the lookup resolves to the wrong song, the uniqueId
check fails, and the startup resume-seek is silently cancelled — the
track then plays from 0:00 and the progress poller overwrites the
persisted timestamp.
Use getCurrentSong() instead, which maps the index through
queue.shuffled, matching how the seek target is armed.
Fixes #2202
Co-authored-by: Maurits <WhoCarrot@users.noreply.github.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-06 01:10:36 +00:00
Hosted Weblate
972bd22ddf
Translated using Weblate
...
Currently translated at 99.6% (1284 of 1289 strings) (Estonian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/et/
Translated using Weblate
Currently translated at 100.0% (1289 of 1289 strings) (Czech)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Co-authored-by: lorduskordus <lorduskordus@gmail.com >
Co-authored-by: rimasx <riks_12@hot.ee >
2026-07-05 18:01:22 +02:00
Hosted Weblate
e0091f22ce
Translated using Weblate
...
Currently translated at 48.0% (620 of 1289 strings) (Portuguese (Brazil))
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pt_BR/
Translated using Weblate
Currently translated at 43.8% (565 of 1289 strings) (Japanese)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ja/
Co-authored-by: Camembert <camembert1342@gmail.com >
Co-authored-by: karigane <169052233+karigane-cha@users.noreply.github.com >
2026-07-04 15:01:35 +00:00
Ahmed Alabsi
022d227d5e
perf: use crypto.getRandomValues() for higher-quality shuffle in music player ( #2181 )
...
* fix: use crypto-safe randomness in shuffle helpers
2026-07-02 01:01:34 -07:00
Hosted Weblate
31f12a39b2
Translated using Weblate
...
Currently translated at 13.8% (178 of 1289 strings) (Thai)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/th/
Translated using Weblate
Currently translated at 100.0% (1289 of 1289 strings) (Polish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/
Translated using Weblate
Currently translated at 97.0% (1251 of 1289 strings) (French)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/fr/
Translated using Weblate
Currently translated at 100.0% (1289 of 1289 strings) (Spanish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/
Translated using Weblate
Currently translated at 25.8% (333 of 1289 strings) (Chinese (Simplified Han script))
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hans/
Co-authored-by: Fordas <fordas15@gmail.com >
Co-authored-by: KosmoMoustache <kosmomoustache@users.noreply.hosted.weblate.org >
Co-authored-by: Strom.wang <811191336@qq.com >
Co-authored-by: man sun <masrton888@gmail.com >
Co-authored-by: skajmer <skajmer@protonmail.com >
2026-07-01 09:01:30 +00:00
Hosted Weblate
a6d82374dd
Translated using Weblate
...
Currently translated at 12.8% (166 of 1289 strings) (Thai)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/th/
Co-authored-by: man sun <masrton888@gmail.com >
2026-06-30 08:56:25 +02:00
Kendall Garner
42bd8d34d9
fix(sidebar): only re-expand sidebar when enabled
2026-06-29 21:06:32 -07:00
jeffvli
b397790402
additional fix for furigana/romaji lyric handlers ( #2188 )
...
- Romaji conversion joined all synced lyric lines into one string. Because the block contained kana somewhere, hasKana passed for the entire array of lyrics.
2026-06-29 20:50:13 -07:00
Hosted Weblate
7231f73ba7
Translated using Weblate
...
Currently translated at 100.0% (1289 of 1289 strings) (Chinese (Traditional Han script))
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hant/
Translated using Weblate
Currently translated at 48.3% (622 of 1287 strings) (Ukrainian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/uk/
Translated using Weblate
Currently translated at 100.0% (1287 of 1287 strings) (Catalan)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ca/
Translated using Weblate
Currently translated at 100.0% (1287 of 1287 strings) (Polish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/
Translated using Weblate
Currently translated at 100.0% (1287 of 1287 strings) (Spanish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/
Co-authored-by: Fordas <fordas15@gmail.com >
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: Ondo <SparkyOndo@proton.me >
Co-authored-by: albatrays <weblate.duct925@passmail.net >
Co-authored-by: linger <linger0517@gmail.com >
Co-authored-by: skajmer <skajmer@protonmail.com >
2026-06-30 05:29:06 +02:00
jeffvli
37ada07ee2
add "stopped" playback state and event handlers
2026-06-29 20:23:46 -07:00
York
a221a84792
fix: romaji duplicate lines for non-Japanese lyrics ( #2188 )
2026-06-29 19:11:46 -07:00