Commit Graph

1436 Commits

Author SHA1 Message Date
jeffvli 6ff535c406 move remote init into hook 2025-11-29 19:30:47 -08:00
jeffvli 02e721ce17 lint 2025-11-29 19:30:47 -08:00
jeffvli e0256dd535 fix ipc in remote hook 2025-11-29 19:30:47 -08:00
jeffvli 328015bce7 add useRemote to playerbar 2025-11-29 19:30:47 -08:00
jeffvli b03a33f534 add new player remote hook 2025-11-29 19:30:47 -08:00
jeffvli 7cd012de70 add subscribers for player repeat and shuffle 2025-11-29 19:30:47 -08:00
jeffvli 6ced14d0e8 support offset for player skip 2025-11-29 19:30:47 -08:00
jeffvli 9fd4abec25 re-implement mpv with new player 2025-11-29 19:30:47 -08:00
jeffvli a452495c22 add volume wheel 2025-11-29 19:30:47 -08:00
jeffvli 3c93167abb refactor windowbar to prevent unnecessary renders 2025-11-29 19:30:47 -08:00
jeffvli 7717bff367 re-implement playerbar controls 2025-11-29 19:30:47 -08:00
jeffvli be6db801ee add usePlayer hook 2025-11-29 19:30:47 -08:00
jeffvli 427f808180 rename internal types in domain models 2025-11-29 19:30:47 -08:00
jeffvli 76bf4ae825 begin implementing player context 2025-11-29 19:30:47 -08:00
jeffvli e02a518583 reorganize 2025-11-29 19:30:47 -08:00
jeffvli 79ddd122a4 fix table row styles listener 2025-11-29 19:30:46 -08:00
jeffvli b1fa7e4e09 rework player events to use properties object instead of flat value 2025-11-29 19:30:46 -08:00
jeffvli 015c3004f5 add new web player implementation 2025-11-29 19:30:46 -08:00
jeffvli 550ba4f768 temporarily remove old player implementations to prevent broken app 2025-11-29 19:30:46 -08:00
jeffvli 1d4069d4fa rework player store and add global player context 2025-11-29 19:30:46 -08:00
Kendall Garner cad0265e3c fix(rpc): truncate certain fields (#1263)
* fix(rpc): truncate certain fields

* off by one...

* use elipses character
2025-11-17 02:24:52 +00:00
Damien Erambert 6a236c803a Small light theme fixes (#1248)
* Use grey border instead of black shadow in light mode below filter-bar

* Fix some theme colors not updating when theme is changed in real-time
2025-11-09 00:25:58 -08:00
Kendall Garner d74e7b52cc position original release date after release types 2025-11-08 15:38:19 -08:00
Chen Marisa 8c539aaadc feat: add 'preservePitch' toggle to playback speed "dropdown" (#1243)
* feat: add 'preservePitch' toggle to playback speed "dropdown"
2025-11-06 01:10:17 -08:00
Dane 903799dae1 adding EnableTotalRecordCount and Limit to Jellyfin controller genres query (#1244) 2025-11-05 20:11:41 -08:00
jeffvli 7ac8f349a5 fix item grid refresh error 2025-11-03 21:47:57 -08:00
jeffvli f266e299f5 remove old api types files 2025-11-03 11:16:50 -08:00
Kendall Garner e26ffaac53 Add additional information to album: record label, release type, version (#1242)
* Add additional information to album

* add mbz release types and normalization

* update Pill styling

---------

Co-authored-by: jeffvli <jeffvictorli@gmail.com>
2025-11-03 00:34:42 -08:00
jeffvli f67937693d fix library header spinner 2025-11-02 22:03:03 -08:00
jeffvli c7a473d864 refactor api controller to internalize server fetch 2025-11-02 21:56:35 -08:00
jeffvli 8dbaec3943 fix type errors 2025-11-02 04:27:44 -08:00
jeffvli bc42329d27 fix merge conflicts from react-query v5 migration 2025-11-02 01:49:16 -07:00
jeffvli b685ec370a remove barrel files in renderer 2025-11-02 01:39:01 -07:00
jeffvli abd1d55f23 remove limit / startIndex from count query args 2025-11-02 01:39:01 -07:00
jeffvli 8115963264 upgrade and refactor for react-query v5 2025-11-02 01:38:47 -07:00
jeffvli dd70d30cd3 fix inconsistent image loader aspect ratio 2025-11-01 22:17:02 -07:00
Kendall Garner 1a176fd118 Refactor add to playlist modal (#1236)
* Refactor add to playlist modal

* redesign base modal component, add ModalButton component

* improve visibility of filled button focus

---------

Co-authored-by: jeffvli <jeffvictorli@gmail.com>
2025-11-01 21:57:12 -07:00
Xudong Zhou 829c27a5e9 Prevent Media Session Handling on MPV (#1212)
* Remove MediaSession Handling on MPV

* Add playbackType to config.json for Main Thread Access

* Disabling settings without Hiding
2025-11-01 18:26:16 -07:00
jeffvli 0ca9eb0fcd fix sidebar image using invalid fallback value 2025-11-01 12:49:48 -07:00
jeffvli 3d66a15ae6 fix setting description for sidebar (collapsed) nav (#1218) 2025-10-31 17:28:36 -07:00
jeffvli 6a04c709f0 remove z-index from playerbar controls (#1218) 2025-10-31 17:27:33 -07:00
Xudong Zhou dd34888961 Fix Lyric Translation Not Resetting (#1208)
* Refactor lyrics translation and index handling

* Add auto translation toggle to lyric settings

* Add enableAutoTranslation setting to lyrics
2025-10-31 17:08:10 -07:00
Jake King a9f2b083fa Import / Export Feishin Settings (#1163)
* Create a shared DragDrop Zone

- This zone allows the dropping of files
- The zone allows validation by parent
- The zone allows customisation like icon shown

* Import Settings

- Ability to import settings from a JSON file
- Validation to ensure file compatibility
- Visualiser for viewing string differences

* i18n

- Moved all hardcoded values to be en localised

* Zod / Validation

This commit contains the code to move settings to using ZOD, the reason for this is so that we can validate the settings schema that is being imported.

This commit also adds various validation and transforms to ensure the settings being reimported match values we expect.

I also removed the original crude validation and replaced it with the new ZOD parser that will handle this for us.

Finally the "styles-settings" component will listen to any external content updates and update its value, the reasoning is the external import wouldn't update the existing value.


- Split Settings schema into two parts, schema that is validated on import and schema that is not
- Schemas are merged to make the full SettingsStateSchema

* Migrate during validation

- Migration is done as part of validation
- Updated the store version to v10 as there has been changes to the settings
- Migrate will now add the fields from v9 to v10


- the build was failing due to ids not being mapped to their enum values

---------

Co-authored-by: Jeff <42182408+jeffvli@users.noreply.github.com>
2025-10-28 20:54:13 -07:00
Kendall Garner a379100c9f fix: disable certain playlist controls when search is enabled 2025-10-26 12:03:36 -07:00
Kendall Garner 4cbbb4035d feat: add filtering for now playing view and sidebar 2025-10-26 11:51:55 -07:00
Lyall 4dd52b0cef feat: Add explicit status for Navidrome and OpenSubsonic (#1220)
* add navidrome explicit status

* add ExplicitStatus enum and support opensubsonic

* add explicit status to cards
2025-10-26 13:48:45 +00:00
Kendall Garner 58ccd0cfd0 bugfix: remove duplicate scrobbling when there is only one item in the queue (#1222) 2025-10-25 20:25:07 +00:00
jeffvli ce1d37479c add migration to reset all users to native window bar style (#1211) 2025-10-22 02:49:37 -07:00
Tarulia a9af1e91d4 Disable Media Keys with MediaSession on Windows (#1207)
In f07393c8 we enabled the MediaSession API, which from Chromium's side
brings its own native way of handling Global Media Keys. However, it
turns out having this enabled seemingly conflicts with Windows 11's SMTC
implementation when we also bind the Media Keys using Electron's Global
Hotkeys API (Windows 10 is apparently fine, but now EOL).

Globally passing `HardwareMediaKeyHandling` to `disable-features` was
considered, however using the MediaSession API requires
`HardwareMediaKeyHandling` to be enabled, so this is not an option.

Instead, with MediaSession enabled we need to let Chromium handle the
Media Keys, while without MediaSession we bind our own Global Hot Keys
for users that have them enabled in the settings.

Co-authored-by: Xudong Zhou <godzmichael@outlook.com>
2025-10-21 21:48:09 -07:00
Lyall 848b3f58b3 Fix short album/artist name breaking Discord presence (#1191)
* Fix short album/artist name breaking Discord presence

* fix lint rule that isn't firing, cleanup types

---------

Co-authored-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com>
2025-10-14 02:17:09 +00:00