Commit graph

718 commits

Author SHA1 Message Date
Kendall Garner
65eca32de3
[bugfix]: do not update mpris status unnecessarily 2024-04-02 08:46:38 -07:00
Kendall Garner
ae167e63fd
[bugfix]: shared only if owner exists 2024-04-01 22:31:59 -07:00
Kendall Garner
ab17ba8add
[bugfix]: fix scrobble race conditions 2024-04-01 22:13:06 -07:00
Kendall Garner
6bc778fa53
[bugfix]: fix smart playlist, do not error when trying to edit playlist as non-admin 2024-03-31 19:34:33 -07:00
Kendall Garner
44fcc33825
[enhancement]: add server menu on Navidrome error page 2024-03-31 17:47:17 -07:00
Kendall Garner
e0e967385f
Merge pull request #566 from kgarner7/fix-mpv-race-and-make-consistent
[bugfix]: Resolve MPV next/prev race condition
2024-03-31 23:12:03 +00:00
Kendall Garner
8900d8126c
[bugfix]: queue all songs on search, consistent sort, clearing
- Previously, the search page would render initial page in one order, but search itself would be different order
This is resolved by having both virtual-table and search-header using listStoreKey
- When double clicking, now enqueue all the songs using the same sort
- Reset the search when clearing
2024-03-31 13:20:01 -07:00
Kendall Garner
65b045df03
[bugfix]: Resolve MPV next/prev race condition
Resolves #536.

With the previous implementation, next/previous would first update
the current queue and then call next/previous. However, since these were
asynchronous calls it was very likely that the second calls would fail
(and a test of adding delay showed that it actually caused a double skip).
This PR resolves this by just removing the prev/next.

Small other fixes:
- setQueue + pause -> setQueue(..., true)
- make MPV and web player have the same behavior for (pause/stop) where appropriate
2024-03-30 21:48:09 -07:00
Kendall Garner
918842e3a5
[bugfix]: use proper check for OS lyric existence 2024-03-30 20:36:49 -07:00
jeffvli
d806ade84c Potentially fix application stuck when Navidrome credential expires (#538) 2024-03-12 23:59:35 -07:00
jeffvli
613bfa7ae6 Various cleanup/fixes 2024-03-05 14:15:32 -08:00
jeffvli
a7a5b92011 Adjust server feature naming convention 2024-03-05 14:12:37 -08:00
jeffvli
a9315be259 Rename features types file 2024-03-05 14:05:01 -08:00
jeffvli
e7b2f30718 Replace songId with albumId on dynamic image check 2024-03-05 00:45:45 -08:00
Kendall Garner
73845a9432
[enhancement]: better version checks for lyrics, Navidrome (#529)
- Actually make serverfeatures partial
- Navidrome: only set multiple structured lyrics if extension exists
- Navidrome/Subsonic: minor type checking of OS extension (Navidrome implementation detail)
- Jellyfin: add separate knob for lyrics. Note, this should also probably be behind some version check...
2024-03-05 00:31:51 -08:00
Benjamin
d52d9136b8
[feat] Add a dynamic image option to the fullscreen player (#526)
* Add an option for a dynamic background image in the fullscreen player

* Center the background image and fix some more bugs

* More cleaning up the background image

* Add option for customizable blur amount

* Fix missing translation key for image blur

* Fix dynamic image shifting when player is opened

* Hide image blur size config if dynamic background is disabled

---------

Co-authored-by: Jeff <42182408+jeffvli@users.noreply.github.com>
2024-03-05 00:30:37 -08:00
Kendall Garner
a45e7f24e4
[enhancements]: fix carousel, full screen metadata improvements (#524)
* fix carousel, full screen metadata improvements

* Add missing mapped keys on multiple artist

* Remove bg opacity on metadata section

* Improve visibility of currently playing song

---------

Co-authored-by: jeffvli <jeffvictorli@gmail.com>
2024-03-04 18:53:00 -08:00
Jeff
132b0e173f
Merge branch 'development' into related-similar-songs 2024-03-04 05:04:54 -08:00
jeffvli
83b5afb187 Remove ServerType check on shared playlist display 2024-03-04 02:37:37 -08:00
Kendall Garner
237fb91a60 [enhancement]: Differentiate shared and owner playlists for Navidrome
Resolves #368. If Navidrome, post-process the playlist list and separate
into owned and shared (in that order).
2024-03-04 02:29:35 -08:00
Jeff
cc6cad1d70
Merge branch 'development' into navidrome-version 2024-03-04 01:49:13 -08:00
jeffvli
c8b1e2312a Change smart playlist feature check 2024-03-04 01:44:11 -08:00
jeffvli
f1f6ccfd02 Normalize server feature set 2024-03-03 22:15:49 -08:00
Kendall Garner
f50d1e0a8c
support opacity 0, spellcheck 2024-03-01 19:54:30 -08:00
Kendall Garner
753ca01d41
[bugfix]: fix update rating for items with no data node 2024-02-29 17:28:46 -08:00
jeffvli
960c126283 Fix incorrect album artist sidebar icon 2024-02-28 21:07:50 -08:00
Kendall Garner
94b649fefe
don't transform artist/album for fullscreen player 2024-02-26 22:47:17 -08:00
Alberto Rodríguez
28bb699024
Add a pre-defined server for the docker version (#413)
* Moved build to docker stage.

* Do not copy node_modules to the docker image

* Optimize Docker builds

* Lock a predefined server with enviroment variables

* Added a example docker compose file

* Removed useless layer

* Fix error with empty server type

* pass process via preload, use file, strict server check

* remove duplicate content-type

* update readme, docker compose

* bugfix: server lock false, not jellyfin

* fix preload type definition

* fix docker, web server lock check

---------

Co-authored-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com>
2024-02-24 06:55:23 +00:00
Kendall Garner
5caf0d439f
[enhancement]: Start minimized (#522)
* [enhancement]: support starting minimized

* show window when dock clicked macos
2024-02-23 16:31:17 +00:00
Kendall Garner
12d0eca2dd
remember that current song can be an object 2024-02-19 10:27:00 -08:00
Kendall Garner
3a116e938e
omit song from similar list, handle subsonic error 2024-02-19 10:09:05 -08:00
Kendall Garner
f81bea339b
don't pass song all the way down 2024-02-19 09:55:37 -08:00
Kendall Garner
c947d09615
show nothing if no song exists 2024-02-19 09:01:44 -08:00
Kendall Garner
af90d07414
bugfix 2024-02-19 08:56:06 -08:00
Kendall Garner
025124c379
[enhancement]: Make related tab on full screen player useful
Resolves #50. Adds a new set of components for fetching similar songs
from the current playing song. For Jellyfin, use the `/items/{itemId}/similar`
endpoint (may not work well for small libraries), and for Navidrome/Subsonic
use `getSimilarSongs`. _In theory_, this component can be used to get similar
songs anywhere.
2024-02-19 08:53:50 -08:00
Kendall Garner
dae2f9bd0a
[feat]: actually include version checks 2024-02-17 00:57:10 -08:00
jeffvli
9a43ea0e4a Attempt to fix player unresponsive on first start 2024-02-16 22:12:28 -08:00
Kendall Garner
2f105956b9
Improve grid size, language 2024-02-16 21:42:15 -08:00
Kendall Garner
1e5d446ced
[bugfix]: song list play count -> genre 2024-02-16 13:53:42 -08:00
darkpixlz
6e677d7454
Image Resolution Setting (#492)
* Add customizable resolution for the fullscreen player image

---------

Co-authored-by: iiPython <ben@iipython.dev>
Co-authored-by: Benjamin <iipython@proton.me>
2024-02-13 18:00:59 -08:00
Kendall Garner
f796a35f5c
[enhancement]: support reordering homepage (#494)
* [enhancement]: support reordering homepage

---------

Co-authored-by: jeffvli <jeffvictorli@gmail.com>
2024-02-13 17:56:08 -08:00
Jeff
83d5fee442
Merge pull request #484 from kgarner7/fix-structured-lyrics
[bugfix/enhancement]: Support Navidrome structured lyrics
2024-02-13 16:17:24 -08:00
Jeff
eab11658bb
Merge pull request #501 from kgarner7/allow-no-mpv
- OOBE default to web player
- Allow mpv to run using PATH env
- Add improved mpv error logging
- Add web player fallback on mpv error
2024-02-13 16:16:01 -08:00
jeffvli
9b0c9ba3ac Fallback to web player if mpv fails to run 2024-02-13 02:05:59 -08:00
Kendall Garner
e6b01d4e2b
[bugfix]: set MPV queue when now or queue is empty 2024-02-13 00:04:28 -08:00
jeffvli
fb08502e51 Add mpv path reload and clear functionality 2024-02-12 21:21:17 -08:00
jeffvli
ff4ce89bc9 Remove "disable mpv" setting and desktop requirement 2024-02-12 14:14:08 -08:00
Kendall Garner
f82da2e76b
[enhancement]: Support disabling MPV entirely
Supports running Feishin solely using web audio (useful for clients with problems with MPV).
Also moves save/restore queue to utils, as MPV object is now optional
2024-02-11 13:56:29 -08:00
Kendall Garner
ae8fc6df13
[bugfix]: improve play behavior
- when adding songs to queue, only `play()` if the queue was empty
- when adding next/last to empty queue, behavior should be same as now
2024-02-10 00:38:21 -08:00
Kendall Garner
0a658e3a22
[bugfix]: default go libsecret, support changing secret store (#493)
* [bugfix]: default go libsecret, support changing secret store

* update readme and rename libsecret
2024-02-09 23:20:01 +00:00