Commit graph

941 commits

Author SHA1 Message Date
jeffvli
9b0c9ba3ac Fallback to web player if mpv fails to run 2024-02-13 02:05:59 -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
jeffvli
eb4d099804 Increase toast duration defaults 2024-02-12 14:04:19 -08:00
jeffvli
b69290f9f2 Add listeners and preload for log/toast from main 2024-02-12 14:02:59 -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
Kendall Garner
49cbef729b
encode uri component for authorization header 2024-02-07 20:29:29 -08:00
Kendall Garner
73c6ddd116
Merge branch 'development' of github.com:jeffvli/feishin into development 2024-02-04 10:24:24 -08:00
Kendall Garner
e3553074a3
[bugfix]: use accent color for cache clearing 2024-02-04 10:23:45 -08:00
lymnyx
69cb63a8b0 Fixes route of most played songs in home (#434). 2024-02-04 02:27:26 +01:00
Kendall Garner
24bf7ae31f
[enhancement/localization]: sort navidrome albums by year, add more language keys 2024-02-03 15:05:33 -08:00
Benjamin
86a93866d0
[enhancement] Add a button size setting (#486)
* Add a button size setting

* Reduce setting size and add px suffix

* Looks like I don't need || inside of control-settings

* Update translation

* Bump settings version to 7
2024-02-03 21:22:26 +00:00
lymnyx
933573b57f
Order artist's Top Songs by play count (#410). (#487) 2024-02-03 21:21:15 +00:00
Jeff
ccb0e14e48
Merge pull request #450 from kgarner7/more-metadata
[feature]: Show album comment, Last.fm/MusicBrainz links
2024-02-02 14:56:46 -08:00
jeffvli
aca6826221 Refactor artist biography to use spoiler 2024-02-02 01:39:19 -08:00
jeffvli
095edfd49f Add custom spoiler component 2024-02-02 01:38:58 -08:00
Kendall Garner
efa0d9ec35
[enhancement]: larger player buttons, clearer random icon 2024-02-01 20:59:00 -08:00
jeffvli
7c25d12639 Enable external links by default 2024-02-01 04:14:02 -08:00
jeffvli
3daa1aef4b Normalize section spacing on album/artist detail pages 2024-02-01 04:06:56 -08:00
jeffvli
6aba41c3d9 Add spoiler UI component 2024-02-01 03:58:36 -08:00
Kendall Garner
eff1cee6a3
[bugfix]: Fix repeated track scrobbling (#480)
* [bugfix]: Fix repeated track scrobbling

This commit fixes scrobbling tracks that are repeated in the queue (either due
to a REPEAT_ONE or just enqueued multiple times). There are two extra cases:

1. The current player changes. The player alternates from 1 -> 2 -> 1 whenever playback
finishes normally, so this is a sort of epoch that can be used to detect both repeat one
and track being enqueued multiple times.
2. The current index changes. The player gets set back to 1 in a variety of cases (most often
previous/next), so the check in (1) is not enough. However, the index changing will help identify
that this is a new song.

* use unique id instead
2024-02-01 04:12:39 +00:00
Kendall Garner
9995b2e774
[enhancement]: support clearing query and http cache (#475)
* [enhancement]: support clearing query and http cache

  - Adds the ability to invalidate all queries (useful for forcing refresh, and clearing lyrics which are cached forever)
  - [Desktop only] adds the ability to clear the Electron HTTP cache (e.g. cached images)

* use clearer language

* move cache settings to general
2024-01-31 06:27:56 +00:00
Kendall Garner
04a468f8c9
[bugfix]: fetch higher resolution artist images from Navidrome 2024-01-28 20:01:57 -08:00
Kendall Garner
afb8510cd7
[enhancement]: increase padding for synchronizer lyric container 2024-01-28 19:42:23 -08:00
Kendall Garner
5cc2276781
[bugfix]: web player edge cases
Two bugs addressed in response to Safari changes:
1. Only handle `onEnded` for real streams, preventing `autoNext()` spam when the last track finishes
2. `.play()` is not necessarily a safe operation (if empty wave was started, can cause exception later). Catch this exception and discard it. This also only occurred when playing the last track
2024-01-28 01:50:51 -08:00
Kendall Garner
47ce0ed47b
[bugfix]: fix repeat one with shuffle and one track 2024-01-28 00:49:17 -08:00
Kendall Garner
f467a85a86
[bugfix]: use proper language key for lyrics size 2024-01-27 10:07:10 -08:00
Kendall Garner
097211954c
[enhancement]: default to space for play/pause toggle 2024-01-27 08:15:13 -08:00
Kendall Garner
0cdfc64023
[bugfix]: allow Jellyfin to have empty password on edit 2024-01-26 22:54:50 -08:00
Kendall Garner
bc7f4a5722
[bugfix]: Fix safari audio context (#471)
* test 3

* comments

* [bugfix]: SAFARI WHY. Use GainNode volume instead for volume control

* force vercel refresh?

* Revert "force vercel refresh?"

This reverts commit af31f38e03a6682ded13a9c944b6f37d08eb9d17.

* move volume scaling calculation to setGain
2024-01-27 01:10:34 +00:00
Kendall Garner
bbf59a4942
[bugfix]: Fix add to playlist success message
The prior code used `form.addToPlaylist`, not `.success`. Also fixes English pluralization and
uses the correct `entity.track` as opposed to `entity.song` for other languages (I am not sure
if the en syntax could be applied to other languages, so I will just leave pluralization as-is
for now).
2024-01-25 23:58:21 -08:00
Kendall Garner
45e589fbb1
[enhancement]: use ColorInput for text rgb selection 2024-01-24 23:39:50 -08:00
Kendall Garner
527e6a76b5
[bugfix]: disable play button when queue is empty 2024-01-24 21:35:58 -08:00
Kendall Garner
362a88b6bc
[bugfix]: fix race condition for opening play queue/playlist details 2024-01-24 21:15:11 -08:00
Kendall Garner
26102bd70a
[bugfix]: do not change scroll position when focus changes 2024-01-24 21:05:26 -08:00
Kendall Garner
5f1d0a3b5e
[bugfix]: Validate audio sample range, catch AudioContext error (#470) 2024-01-24 20:36:20 -08:00
Kendall Garner
3bca85b3a8
Merge pull request #435 from kgarner7/fix-init-timing
[bugfix]: defer restore queue until mpv exists
2024-01-23 05:18:20 +00:00
Kendall Garner
61ecd3253e
Merge pull request #209 from jeffvli/fix/#202
Add frame to macOS native window bar
2024-01-23 05:07:10 +00:00
Kendall Garner
5e9ef9f23f
use type, remove console 2024-01-22 18:52:14 -08:00
David Rappo
c8701d1da4
Fixed incorrect label for album sort by release date (#458) 2024-01-22 10:09:15 -08:00
Kendall Garner
33972c2a83
titlebar switching 2024-01-21 22:47:59 -08:00
marksdestiny
372b96a349
Improve the playback speed control (#437)
* Change playback speed selector to slider

* Improve playback speed bar

Display BPM
Improve style
Add markers

* Improve playback speed slider style
2024-01-21 20:06:46 -08:00
SlyFabi
dcccccea2f
Use startIndex in Jellyfin getPlaylistSongList (#449) 2024-01-21 19:46:34 -08:00
Leonardo Salgueiro
2095ff6ab9
Update scrobble-settings.tsx (#440) 2024-01-21 19:43:09 -08:00
Kendall Garner
ea67a18962
include lastfm/mbz links 2024-01-15 22:10:50 -08:00
Kendall Garner
5516daab6e
enable comments, safer note 2024-01-15 20:46:06 -08:00
Kendall Garner
c5e08b643d
[bugfix]: defer restore queue until mpv exists 2024-01-06 19:24:29 -08:00
Kendall Garner
c05b474827
fix navi null date (#408) 2023-12-13 00:28:53 -08:00