York
8b7615bebb
fix: localize custom theme settings ( #2299 )
2026-07-31 03:58:21 +00:00
jaxi
e402bd5424
fix: f11 fullscreen was completely broken on linux/windows; feat: butterchurn preset expansion + randomized preset arrows ( #2280 )
...
* added a ton of visualizers
* added f11 toggle functionality, f11 makes visualizer cover entire screen when pressed while visualizer is maximized
Bundling the additional butterchurn preset packs (extra, md1) pushed
renderer build memory past the default ~2GB Node heap on the macOS CI
runner, causing OOM crashes during the build.
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-30 20:49:24 -07:00
jeffvli
2d45968b4a
change spinner component to use to LuLoader
2026-07-29 22:56:34 -07:00
jeffvli
13528eff09
add library rescan to server selector menu
2026-07-29 22:55:52 -07:00
jeffvli
81f7b42409
redesign lyrics settings form
2026-07-29 22:04:47 -07:00
jeffvli
75c43d6724
fix input clearable button styles
2026-07-29 21:13:12 -07:00
jeffvli
77ea7f9c75
add and adjust some log entries
2026-07-29 21:05:54 -07:00
Hosted Weblate
fb263c5570
Translated using Weblate
...
Currently translated at 99.9% (1346 of 1347 strings) (Russian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ru/
Translated using Weblate
Currently translated at 100.0% (1347 of 1347 strings) (Polish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/
Co-authored-by: skajmer <skajmer@protonmail.com >
Co-authored-by: Александр Стельмах <aguhadug@gmail.com >
2026-07-28 16:01:59 +00:00
Hosted Weblate
acebcdbafa
Translated using Weblate
...
Currently translated at 99.4% (1340 of 1347 strings) (Estonian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/et/
Translated using Weblate
Currently translated at 100.0% (1347 of 1347 strings) (Italian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/it/
Translated using Weblate
Currently translated at 100.0% (1347 of 1347 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: Marco Ciotola <github@ciotola.dev >
Co-authored-by: rimasx <riks_12@hot.ee >
2026-07-27 14:14:53 +02:00
Hosted Weblate
d10bf03322
Translated using Weblate
...
Currently translated at 100.0% (1347 of 1347 strings) (Czech)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translated using Weblate
Currently translated at 100.0% (1347 of 1347 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% (1345 of 1345 strings) (Russian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ru/
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org >
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: linger <linger0517@gmail.com >
Co-authored-by: Александр Стельмах <aguhadug@gmail.com >
2026-07-27 04:46:24 +02:00
mekomuka
2c3c8f518f
fix(web-player): unlock AudioContext on first user gesture ( #2275 )
...
The web AudioContext is created on mount, so browsers start it in a
suspended state. The existing resume() call in the async player-start
callback fires too late relative to the original click to count as a
user gesture in Chrome, so it silently fails and playback progresses
with no audio output.
Add a one-time pointerdown/keydown listener that resumes the context
on the very first user interaction on the page, synchronously within
the gesture's event handler.
Co-authored-by: Inspiractus01 <Inspiractus01@users.noreply.github.com >
2026-07-27 02:46:08 +00:00
Simon Slamka
052af7c420
Revert "feat(player): set right ctrl vol max to mpv's vol max if player==local ( #2198 )" ( #2288 )
...
This reverts commit ddd45ad5ba .
2026-07-26 21:51:21 +00:00
Marc Plano-Lesay
07ef323ccc
Make ratings/favourites a bit more customizable ( #2262 )
...
* Replace show ratings toggle with favorite/rating controls setting
Swap `genera.showRatings` (previously a simple bool) for a
`favoriteRatingControls` enum, exposed via derived `useShowRatings` /
`useShowFavorites` hooks. Settings switch becomes a select, with a
migration to a new v32 schema mapping the old boolean forward with no
user change.
* Gate favorite controls on `favoriteRatingControls` setting
Hide the playerbar and mobile fullscreen favorite buttons and the
context-menu favorite action when the setting excludes favorites,
mirroring how ratings are already gated.
* Gate favorite controls on item cards and detail list
Drill a `showFavorite` flag through the item-card tree (mirroring
`showRating`), and gate the card/detail-list favorite badges and hover
buttons on the `favoriteRatingControls` setting.
* Gate favorite controls in detail headers and album group controls
* Keep the original `showRatings` switch and add a `showFavorites`
* Gate album header favorite hander at definition
2026-07-26 12:59:17 +00:00
jeffvli
d0710f3549
fix inconsistent wrapping on list displaytype selector
2026-07-25 20:45:02 -07:00
Damien Erambert
f8a0544ceb
Add a Window menu item that re-opens main window on Mac ( #2269 )
...
* Add a Window menu item that re-opens main window on Mac
* only rebuild menu on macos
2026-07-25 19:40:22 +00:00
Hosted Weblate
02d6a3d65e
Translated using Weblate
...
Currently translated at 100.0% (1345 of 1345 strings) (Italian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/it/
Co-authored-by: Marco Ciotola <github@ciotola.dev >
2026-07-24 22:01:11 +02:00
Hosted Weblate
bf07188d66
Translated using Weblate
...
Currently translated at 98.6% (1327 of 1345 strings) (Italian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/it/
Co-authored-by: Marco Ciotola <github@ciotola.dev >
2026-07-24 21:25:41 +02:00
Hosted Weblate
f15efad4fd
Translated using Weblate
...
Currently translated at 100.0% (1345 of 1345 strings) (Czech)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translated using Weblate
Currently translated at 100.0% (1345 of 1345 strings) (Czech)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translated using Weblate
Currently translated at 100.0% (1345 of 1345 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 98.6% (1327 of 1345 strings) (Italian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/it/
Translated using Weblate
Currently translated at 100.0% (1345 of 1345 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: Marco Ciotola <github@ciotola.dev >
Co-authored-by: York <goog10216922@gmail.com >
Co-authored-by: lorduskordus <lorduskordus@gmail.com >
2026-07-24 21:11:29 +02:00
jeffvli
315d2c54c0
normalize playerbar config designs
2026-07-23 23:47:02 -07:00
Hosted Weblate
4275fc237d
Translated using Weblate
...
Currently translated at 100.0% (1343 of 1343 strings) (Chinese (Traditional Han script))
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hant/
Co-authored-by: York <goog10216922@gmail.com >
2026-07-24 05:19:58 +00:00
Matt Van Horn
1ab0108654
fix: keep a seek control when the waveform fails to load ( #2257 )
...
The playerbar seek/progress bar could disappear entirely after switching
tracks, recoverable only by restarting the app. The waveform component
rendered the fallback `PlayerbarSeekSlider` only while `isLoading` was
true and cleared that flag on any wavesurfer `ready` event, with no
handling for a failed or superseded load: `wavesurfer.load()` had no
`.catch()` and there was no `error` listener, so a load failure left an
empty waveform canvas and no seek control.
Track an explicit `hasError` state and render the fallback slider whenever
the waveform `isLoading || hasError`, hiding the empty canvas in that case,
so a seek control is always present. Add an `error` listener and a
`.catch()` on `load()` that ignore `AbortError` (the expected result of a
rapid track switch) and surface only real failures. A per-load
`loadStarted` guard, together with the existing cleanup, ignores `ready`/
`error` events from a superseded load so they cannot clear the loading
state for the wrong track.
Closes #2193
Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com >
2026-07-23 22:18:58 -07:00
jeffvli
207df236a3
support sidebar player in now playing route ( #2134 )
...
- add toggle to show/hide the queue in the sidebarplayer
2026-07-23 22:16:47 -07:00
Hosted Weblate
04b1f6595a
Translated using Weblate
...
Currently translated at 99.7% (1335 of 1339 strings) (Estonian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/et/
Translated using Weblate
Currently translated at 97.4% (1305 of 1339 strings) (French)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/fr/
Co-authored-by: KosmoMoustache <kosmomoustache@users.noreply.hosted.weblate.org >
Co-authored-by: rimasx <riks_12@hot.ee >
2026-07-24 04:58:42 +02:00
jeffvli
bcc6edc5dc
fix description/label styles to be consistent
2026-07-23 19:57:06 -07:00
jeffvli
a0bae0ffb0
autodj fixes and enhancements ( #2271 )
...
- add setting to allow duplicates
- add setting to only prefer similar sogs
- fix autodj algorithm to match by the priority order instead of incorrectly grouping when limit not reached
2026-07-23 19:51:30 -07:00
jeffvli
e0ac1c0db6
use dedicated strings for sidebar localization ( #2266 )
2026-07-23 18:10:31 -07:00
Kevin
bd964cc8ed
fix: fixed margin for fullscreen image ( #2274 )
2026-07-22 21:42:50 -07:00
Hosted Weblate
aa0e568fb8
Translated using Weblate
...
Currently translated at 65.7% (881 of 1339 strings) (Italian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/it/
Co-authored-by: Marco Ciotola <github@ciotola.dev >
2026-07-22 18:21:42 +02:00
Hosted Weblate
423a5179c2
Translated using Weblate
...
Currently translated at 99.6% (1334 of 1339 strings) (Estonian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/et/
Translated using Weblate
Currently translated at 89.9% (1204 of 1339 strings) (Dutch)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/nl/
Translated using Weblate
Currently translated at 100.0% (1339 of 1339 strings) (Czech)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translated using Weblate
Currently translated at 100.0% (1339 of 1339 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% (1339 of 1339 strings) (Polish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/
Translated using Weblate
Currently translated at 100.0% (1339 of 1339 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: caviaz <sverrebesteman@gmail.com >
Co-authored-by: rimasx <riks_12@hot.ee >
Co-authored-by: skajmer <skajmer@protonmail.com >
2026-07-22 06:01:55 +00:00
jeffvli
390b231e06
fix web player resuming on queue modification ( #2250 )
...
- During queue edits, stream URL reloads briefly reported a bogus duration (~0.07s). The gapless handler treated that as near end-of-track and called .play() while the player was still paused
2026-07-21 00:29:20 -07:00
jeffvli
d991d4e1b8
adjust padding on settings loading spinner
2026-07-21 00:08:18 -07:00
Hosted Weblate
7394159938
Update translation files
...
Updated by "Cleanup translation files" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/
Translation: feishin/Translation
2026-07-21 07:26:25 +02:00
jeffvli
cbf8037099
improve app logging
...
- consolidate electron-log and expand support-oriented logging
- consolidate log levels to info / trace only
- add system/server diagnostics exporter
2026-07-20 22:26:07 -07:00
Hosted Weblate
99258c92fc
Translated using Weblate
...
Currently translated at 100.0% (1338 of 1338 strings) (Catalan)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ca/
Translated using Weblate
Currently translated at 89.8% (1202 of 1338 strings) (Dutch)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/nl/
Translated using Weblate
Currently translated at 100.0% (1338 of 1338 strings) (Czech)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translated using Weblate
Currently translated at 100.0% (1338 of 1338 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% (1338 of 1338 strings) (Russian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ru/
Translated using Weblate
Currently translated at 100.0% (1338 of 1338 strings) (Polish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/
Translated using Weblate
Currently translated at 97.6% (1307 of 1338 strings) (French)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/fr/
Translated using Weblate
Currently translated at 100.0% (1338 of 1338 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: Ondo <SparkyOndo@proton.me >
Co-authored-by: Sverre Besteman <caviaz@proton.me >
Co-authored-by: York <goog10216922@gmail.com >
Co-authored-by: skajmer <skajmer@protonmail.com >
Co-authored-by: Александр Стельмах <aguhadug@gmail.com >
2026-07-21 07:01:40 +02:00
jeffvli
4c8894259c
add Latvian translation locale
2026-07-20 02:15:49 -07:00
Hosted Weblate
ac0a24f008
Translated using Weblate
...
Currently translated at 96.4% (1287 of 1334 strings) (Latvian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/lv/
Translated using Weblate
Currently translated at 100.0% (1334 of 1334 strings) (Czech)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translated using Weblate
Currently translated at 100.0% (1334 of 1334 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% (1334 of 1334 strings) (Russian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ru/
Translated using Weblate
Currently translated at 100.0% (1334 of 1334 strings) (Spanish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/
Translated using Weblate
Currently translated at 43.7% (584 of 1334 strings) (Japanese)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ja/
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: karigane <169052233+karigane-cha@users.noreply.github.com >
Co-authored-by: Александр Стельмах <aguhadug@gmail.com >
2026-07-20 04:13:57 +00:00
jeffvli
14625a9ef6
fix tag editor key deletion
2026-07-19 21:13:22 -07:00
jeffvli
173efa9bfd
add scan listener and query invalidation on tag editor save
2026-07-19 21:03:13 -07:00
jeffvli
e62242824d
update to v1.15.1
v1.15.1
2026-07-19 16:31:07 -07:00
jeffvli
dbd82d46cf
use custom lyrics styling on search form instead of setting
2026-07-19 16:27:49 -07:00
jeffvli
e4378d1bc9
fix mediasession handlers breaking after player stop event
2026-07-19 13:51:11 -07:00
jeffvli
f7ae4faeb0
fix tag editor defaults to set sort tags to non-multi
2026-07-19 12:35:19 -07:00
jeffvli
749899cec0
fix inverted condition for progress scrobble after submission
2026-07-19 12:26:16 -07:00
jeffvli
f9b9f9ab06
refactor periodic update check to use github releases instead of electron-builder ( #2259 )
...
- resolves an issue related to electron-builder continuing to download and install updates despite only calling checkForUpdates
- adds indicator to settings / app menu on new version found
2026-07-19 12:13:28 -07:00
jeffvli
f8b611fd4c
fix lint
v1.15.0
2026-07-19 00:05:04 -07:00
jeffvli
59d140cf90
update to v1.15.0
2026-07-18 23:59:21 -07:00
jeffvli
021de2b519
fix server list accordions to use server id instead of name
2026-07-18 23:58:13 -07:00
jeffvli
ea6079aae7
add indicators to app menu server selector
2026-07-18 23:55:56 -07:00
jeffvli
61eb998de1
fix session invalidation on invalid credentials ( #2230 )
2026-07-18 23:51:52 -07:00
jeffvli
a378699b12
fix pronunciation lyrics line not syncing on toggle ( #2225 )
2026-07-18 23:30:48 -07:00