jeffvli
b9312d86fd
update to v1.13.0
v1.13.0
2026-06-03 01:01:04 -07:00
jeffvli
30a1bda93d
add new i18n locales
2026-06-03 00:28:12 -07:00
jeffvli
0e24eeeb1c
only show queue save toast on explicit request ( #2090 )
2026-06-03 00:28:12 -07:00
Hosted Weblate
58d4dea09a
Translated using Weblate
...
Currently translated at 22.2% (277 of 1245 strings) (Estonian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/et/
Translated using Weblate
Currently translated at 100.0% (1245 of 1245 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 21.9% (273 of 1244 strings) (Estonian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/et/
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: York <goog10216922@gmail.com >
Co-authored-by: rimasx <riks_12@hot.ee >
2026-06-03 09:09:27 +02:00
jeffvli
c4da44a443
add playlist/artist image upload for jellyfin ( #2105 )
2026-06-03 00:07:31 -07:00
jeffvli
be3f959354
fetch local lyrics first if preferred ( #2100 )
2026-06-02 23:38:31 -07:00
Overdrive
deb69ef8ea
Feature: Add sleep timer for end of current album ( #2081 )
...
* Add logic for stopping playback at end of current album, unless in shuffle mode.
2026-06-02 23:22:56 -07:00
fiso64
5ac0aaeec0
fix(player): step correctly when seeking rapidly ( #2084 )
...
* fix(player): step correctly when seeking rapidly
mediaSkipBackward/mediaSkipForward compute the new target relative to
the timestamp store, which is only refreshed by a ~500ms engine poll.
Rapid presses within that window all read the same stale position and
recompute the same target, so the time appears stuck until the poll
catches up.
Update the timestamp store immediately when a seek is issued so
subsequent presses compute from the new position; the poll then just
reconciles to the same value. Also applied to mediaSeekToTimestamp so
absolute seeks reflect in the UI without the poll lag.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
* fix(player): unify seek comments per review
Use one canonical explanation in mediaSkipBackward and have
mediaSeekToTimestamp/mediaSkipForward reference it.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-02 23:11:21 +00:00
Kendall Garner
515cadb916
Better cross platform font handling ( #2104 )
...
* fix: better handling of custom font
Practically speaking, custom font seems to have only worked on Linux, because
`net.fetch` would include the mime type in the response headers which could validate the payload.
This doesn't appear to be the case on windows/macOS. Instead:
1. On Linux (or if some other system supports it), check the content type. If good, serve as normal
2. Otherwise, fetch the payload. Read the first four to five bytes and check for a valid magic number.
Additionally, to prevent arbitrary requests fetching other paths via injected content, sync the custom font path
to the main process, and then make _every_ request to `feishin:/` point to the same renderer path.
When setting the font, first send the path to the main process. This will register `feishin:/` to point
to the path provided. This is done via a promise-based set.
Finally, provide a default value for the file input (a best effort approximation for the last part of the file path)
on the file input component.
* make the linter happy
2026-06-02 19:34:16 +00:00
Hosted Weblate
4b4d64c7fc
Translated using Weblate
...
Currently translated at 100.0% (1244 of 1244 strings) (Catalan)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ca/
Translated using Weblate
Currently translated at 36.9% (460 of 1244 strings) (Ukrainian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/uk/
Translated using Weblate
Currently translated at 20.5% (256 of 1244 strings) (Estonian)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/et/
Co-authored-by: Ondo <SparkyOndo@proton.me >
Co-authored-by: albatrays <weblate.duct925@passmail.net >
Co-authored-by: rimasx <riks_12@hot.ee >
2026-06-02 16:01:13 +02:00
Hosted Weblate
f7e1198482
Added translation using Weblate (Estonian)
...
Co-authored-by: rimasx <riks_12@hot.ee >
2026-06-01 15:15:06 +02:00
jeffvli
7243ed7f15
fix timestamp restore when song switched before playback start ( #2094 )
2026-05-31 23:09:33 -07:00
York
7e9a78898f
fix: punctuation hotkeys not captured ( #2091 )
2026-05-31 22:43:58 -07:00
Kendall Garner
6aab8d4121
fix(scrobble): use proper pause/unpause for seek, use ms for subsonic
2026-05-31 21:13:11 -07:00
Kendall Garner
70594a696b
chore(context menu): show go to only for albums/tracks, prefer artist over album artist where possible
2026-05-31 19:44:58 -07:00
York
08b4c620f2
Merge pull request #2082 from york9675/fix/spacebar
...
Fix playback hotkeys by preventing browser default
2026-05-31 14:36:53 +00:00
Hosted Weblate
7a20cf3853
Translated using Weblate
...
Currently translated at 100.0% (1244 of 1244 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-05-31 10:51:08 +02:00
Hosted Weblate
dd186c570f
Translated using Weblate
...
Currently translated at 0.8% (10 of 1244 strings) (Tagalog)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/tl/
Co-authored-by: Redd <reddtheeditor@gmail.com >
2026-05-31 08:04:07 +02:00
Hosted Weblate
d5e9d491b6
Added translation using Weblate (Tagalog)
...
Co-authored-by: Redd <reddtheeditor@gmail.com >
2026-05-31 06:08:43 +02:00
Hosted Weblate
28dc822e4f
Translated using Weblate
...
Currently translated at 100.0% (1244 of 1244 strings) (Spanish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/
Translated using Weblate
Currently translated at 100.0% (1244 of 1244 strings) (Polish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/
Translated using Weblate
Currently translated at 100.0% (1244 of 1244 strings) (Czech)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translated using Weblate
Currently translated at 84.1% (1047 of 1244 strings) (English)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/en/
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org >
Co-authored-by: Fordas <fordas15@gmail.com >
Co-authored-by: Lucas Winther <lucasw89@live.dk >
Co-authored-by: skajmer <skajmer@protonmail.com >
2026-05-30 19:01:12 +00:00
Kendall Garner
def1b1e710
fix(butterchurn): allow unsafe wasm for butterchurn
2026-05-30 07:01:53 -07:00
Kendall Garner
2ff9e4b0a2
fix(subsonic): fix favoriting/unfavoriting on playlist songs
2026-05-29 09:19:39 -07:00
jeffvli
49bfc907cd
bump lock-threads to v6
2026-05-28 23:07:47 -07:00
jeffvli
34314bdf46
update to v1.12.1
v1.12.1
2026-05-28 02:06:41 -07:00
jeffvli
9d53c53c54
fix queue end handling to prevent repeat
2026-05-28 02:06:07 -07:00
jeffvli
8acd585630
clean up discord rpc implementation with usePlayerEvents
2026-05-28 01:50:29 -07:00
jeffvli
1f5907716f
disable interval-based timeupdate scrobbles
2026-05-28 00:59:30 -07:00
jeffvli
99ae0c99c6
fix restart requirement logic when switching windowbar style
2026-05-28 00:46:07 -07:00
jeffvli
a56253cd3a
fix queue height when using web windowbar style ( #2068 )
2026-05-28 00:46:06 -07:00
Kendall Garner
a2cdce66bc
chore(github): update bug report template
2026-05-27 21:20:08 -07:00
Jonathan Grotelüschen
7454832663
fix: set RESOURCES_PATH relative to app.getAppPath() ( #2064 )
...
When running the app with system electron, process.resourcesPath points
to the resources folder of the system electron, not the one from
feishin.
2026-05-27 20:01:54 -07:00
Hosted Weblate
1ed185606d
Translated using Weblate
...
Currently translated at 100.0% (1244 of 1244 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% (1244 of 1244 strings) (Polish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/
Translated using Weblate
Currently translated at 54.9% (684 of 1244 strings) (German)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/de/
Translated using Weblate
Currently translated at 100.0% (1244 of 1244 strings) (Spanish)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/es/
Translated using Weblate
Currently translated at 100.0% (1244 of 1244 strings) (Czech)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/cs/
Translated using Weblate
Currently translated at 17.8% (222 of 1244 strings) (Arabic)
Translation: feishin/Translation
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ar/
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org >
Co-authored-by: Fordas <fordas15@gmail.com >
Co-authored-by: Laalo <hyohnoo3@gmail.com >
Co-authored-by: Zarakkas <kaz@users.noreply.hosted.weblate.org >
Co-authored-by: linger <linger0517@gmail.com >
Co-authored-by: skajmer <skajmer@protonmail.com >
2026-05-27 05:11:44 +00:00
jeffvli
d9da588c7c
add workaround for identical Jellyfin release name bug ( #2041 )
2026-05-26 22:06:40 -07:00
jeffvli
e206136156
add physical key mapping for useHotkeys to support alt keyboard languages ( #2051 )
2026-05-26 21:55:08 -07:00
jeffvli
57b11e0dae
remove invalid expand button on Playlist table index column
2026-05-26 20:49:19 -07:00
jeffvli
2fc130d709
validate mpv extra parameters to prevent empty string param ( #2058 )
2026-05-26 20:46:17 -07:00
jeffvli
1aa6b88cfa
allow transcode on waveform streamURL ( #2060 )
2026-05-26 20:35:23 -07:00
jeffvli
329d028edd
add open delay to scrobble status HoverCard
2026-05-26 20:05:01 -07:00
jeffvli
4955f30081
fix regression on numeric column designation ( #2065 )
2026-05-26 19:51:42 -07:00
jeffvli
bf7ca937ff
force pnpm v10 in dockerfile
2026-05-25 22:00:31 -07:00
Hosted Weblate
2193fa4251
Update translation files
...
Updated by "Cleanup translation files" hook in Weblate.
Translated using Weblate
Currently translated at 100.0% (1231 of 1231 strings) (Chinese (Traditional Han script))
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/zh_Hant/
Translated using Weblate
Currently translated at 15.8% (195 of 1231 strings) (Arabic)
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/ar/
Translated using Weblate
Currently translated at 100.0% (1231 of 1231 strings) (Polish)
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/pl/
Translated using Weblate
Currently translated at 54.3% (669 of 1230 strings) (German)
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/de/
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: Laalo <hyohnoo3@gmail.com >
Co-authored-by: Timon Seidel <timongcraft@users.noreply.hosted.weblate.org >
Co-authored-by: York <goog10216922@gmail.com >
Co-authored-by: skajmer <skajmer@protonmail.com >
Translate-URL: https://hosted.weblate.org/projects/feishin/translation/
Translation: feishin/Translation
v1.12.0
2026-05-26 06:05:29 +02:00
jeffvli
9124604b89
update to v1.12.0
2026-05-25 21:01:37 -07:00
jeffvli
239ef4a4ec
add album mode for autodj
...
- add selection modes: similar, random
- add autodj settings in playerbar popover
2026-05-25 19:23:37 -07:00
jeffvli
f3b72504f1
fix missing count configuration for track radio
2026-05-25 19:10:45 -07:00
Simon Bråten
f098f848a3
feat: reading custom css from external file ( #2012 )
...
* feat: reading custom css from external file
---------
Co-authored-by: jeffvli <jeffvictorli@gmail.com >
2026-05-25 14:53:53 -07:00
muckymucky
22d37135ae
fix: strip playback accelerators whenever any text input is focused ( #2059 )
...
The command-palette-specific IPC approach didn't cover other modals
with inputs (settings search, playlist creation, etc.). Replace it
with document-level focusin/focusout listeners that signal the main
process whenever any input/textarea/contenteditable gains or loses
focus, so the menu rebuild is triggered automatically for all current
and future input surfaces.
Co-authored-by: muckymucky <muckymucky@users.noreply.github.com >
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-25 13:35:45 -07:00
jeffvli
61c6036d41
cap scrobble status at max values
2026-05-25 13:26:12 -07:00
jeffvli
95ae474cc6
fix playerbar slider styles
...
- left / right values should be consistent width
2026-05-25 13:26:12 -07:00
jeffvli
504bbeed91
handle positional scrobbles for OS
2026-05-25 13:26:11 -07:00
jeffvli
0e5b3450dd
set ignoreScrobble, playbackRate as optional params
2026-05-25 13:26:11 -07:00