Commit Graph

34 Commits

Author SHA1 Message Date
Violet Caulfield
ec0f26a854 fix jest 2026-03-12 09:53:42 -05:00
Violet Caulfield
25eefacd96 hook consolidation, fix tests 2026-03-12 09:15:39 -05:00
Violet Caulfield
8b89892d74 test fixes 2026-03-11 06:33:20 -05:00
Violet Caulfield
e3e3135a61 fix add to queue tests 2026-03-11 06:27:03 -05:00
Violet Caulfield
0518e2279b fix some tests 2026-03-11 06:20:14 -05:00
Violet Caulfield
f8ecb781d7 update add to queue tests 2026-02-26 21:36:11 -06:00
Violet Caulfield
a9a082feb5 update item image url tests 2026-02-21 01:23:59 -06:00
Violet Caulfield
c56ef3f6f7 fix itemimage mocks 2026-02-21 01:16:43 -06:00
Violet Caulfield
4ba3b7d24b add skip to previous threshold to config
update tests
2026-02-21 01:08:45 -06:00
Violet Caulfield
665f93abbb fixing some tests 2026-02-21 00:57:50 -06:00
Violet Caulfield
f9f6de4100 fix lots of images not showing up 2026-02-20 09:56:52 -06:00
Violet Caulfield
3a7ec20183 update rnnp, update item image url function, add unit tests for it 2026-02-18 20:37:06 -06:00
Violet Caulfield
787ffd7a5b playback reporting with nitro player 2026-02-15 16:43:58 -06:00
Violet Caulfield
5eabd83120 starting migration to nitro player for downloads 2026-02-14 07:09:32 -06:00
Violet Caulfield
e1726d741a literally so many nitro player things 2026-02-11 06:33:19 -06:00
Violet Caulfield
c47a480543 getting album and playlist playback working 2026-02-09 19:56:48 -06:00
Violet Caulfield
e5d6366588 shuffle tsc fixes, playlist and album playback fixes 2026-02-08 08:08:06 -06:00
Violet Caulfield
116c4d66e2 remove last references of rntp 2026-02-03 02:34:41 -06:00
Violet Caulfield
bab5e9104a fix some shit 2026-02-01 08:26:10 -06:00
Violet Caulfield
b5111bf585 updates 2026-02-01 08:18:52 -06:00
Violet Caulfield
dc8537d192 Merge branch 'main' of github.com:Jellify-Music/App into feature/nitro-player 2026-02-01 08:18:39 -06:00
Violet Caulfield
aa09ffd5a3 Fix Image 404s (#961)
Fixing an issue where images for "Most Played" wouldn't be fetched properly

Make the queue screen scroll to the currently playing track when it opens
2026-01-30 07:17:54 -06:00
Violet Caulfield
8473f51e47 Nitro Player 2026-01-09 23:13:01 -06:00
Violet Caulfield
18136cd8d8 stop buffering if a skip has been requested (#894)
* stop buffering if a skip has been requested

* clean up eventing in player provider

fixes #833

* please refresh homescreen more often

* clean up context provider a bit

* smol optimizations

deduplicate player logic for previous and skip

* update CONTRIBUTING documentation

* add react-freeze to prevent unfocused screens from rerendering

* freeze similar until the albums have loaded

* remove unneeded hooks in a variety of played

* display a spinner when loading albums by an artist

* make add to playlist a bit faster and lazier

* move player hooks from provider folder since they aren't dependent on a context provider

* add ability to refresh an artist's page

* add ability to refresh albums too

* make adding a track to a playlist faster

* set query client data when a track is added to a playlist

* do the same trick for removing and reordering tracks from a playlist

* hide miniplayer if the big player is focused for reduced overhead

* fix some styling in the miniplayer
2026-01-07 15:13:38 -06:00
Violet Caulfield
d06e6f36fc Feature/flatten recently played tracks into albums (#878)
* Flatten Multiple Recently Played Tracks into Albums

Flattens multiple recent tracks from the same album into an album navigation card

This one is for you Quen <3

When 3 songs or more from an album are in the recently played section, their album will be rendered instead

* fix navigation in the "play it again" list

* fix playing back stuff

* fix playback indexes for recently played

* fixes to the recently played flashlist

* calm it down on animations lol

* make the item context fire less often

* dememoize and stylize

* make this warm context fire less

* animation changes

* smol animation fixes

* adjusting query staletimes

* make the suggestions query fire once a day

* fix jest

* remove useCallback hooks

* fix key usage here

* I don't think these are necessary since we have a separate query for handling user data

* just to compare

* de memoize some more stuff

* fix this button finally

* put this nitro adapter back in

* git blame pikachu

* bruh

* fix up, clean up

* dehookify

* dehookify more

* add track press

* remove some more imports

* styling consitency

* search page improvements

* smol fixes
2025-12-30 16:27:09 -06:00
Violet Caulfield
783a5144a0 Slimify JellifyTrack type (#644)
* Slimify JellifyTrack type

Reduces the overall size of a JellifyTrack object in memory with the goal of lowing the overhead on serialization both to native and to zustand

* simplify addToQueue

fix issue where using the swipeable row would cause a crash
2025-11-05 18:50:47 -06:00
skalthoff
657e07d835 song quick action menu (#589)
* Add swipe-to-queue functionality and related tests for track management

* Refactor imports to use runOnJS from react-native-worklets for consistency across components

* Implement SwipeableRow component for track management with swipe actions

* Add haptic feedback and improve swipe action handling in SwipeableRow component

* Enhance SwipeableRow component with quick action support for right swipe and refactor left swipe actions in ItemRow and Track components

* Update publish-beta.yml

* Add SwipeToSkip component for track navigation gestures in PlayerScreen

* Implement swipe gesture handling in SongInfo and PlayerScreen for track navigation

* Add swipe action settings and enhance SwipeableRow functionality

- Introduced left and right swipe action settings in the swipe settings store.
- Updated SwipeableRow to support quick action menus for left and right swipes.
- Enhanced ItemRow and Track components to utilize new swipe settings.
- Added GesturesTab for configuring swipe actions in settings.
- Improved PreferencesTab to allow users to select swipe actions.

* Enhance SwipeableRow and Track components with improved action handling and UI updates

* Refactor SwipeableRow integration and enhance swipe action configuration

* Refactor Track component to include prependElement prop for drag icon display in editing mode

* fix build

git blame violet

* Implement swipeable row management with close handlers and integrate into various components

* goddammit violet

* Add tests for SwipeableRow and swipeable row registry behavior

* fix maestro settings tab tests

---------

Co-authored-by: Violet Caulfield <42452695+anultravioletaurora@users.noreply.github.com>
2025-11-05 12:39:21 -06:00
Violet Caulfield
2961ca39bb Introduction of Transcoding Support (#490)
Implements proper server negotation for performing transcoding

Depending on the user's platform (i.e. iOS, Android) and the desired quality specified in the settings, Jellify will playback a transcoded audio file from Jellyfin

This is helpful when the source audio file is not compatible with the user's device (i.e. playing back an ALAC encoded .M4A on Android) or if the user want to stream at a lower quality to save bandwidth

This also drives downloads in different qualities, meaning the download quality selector in the Settings is now working properly. When a track is downloaded, it will download at the quality selected by the user, and in a format compatible with the device

There is also a toggle in the "Player" Settings for displaying a badge in the player that shows the quality and container of the audio being played
2025-08-28 13:04:38 -05:00
Violet Caulfield
ec07b47b6f Player Rewrite (#484)
Rewrite player backend to be more efficient on CPU usage and memory usage
2025-08-25 14:32:34 -05:00
Violet Caulfield
8a191b91ab context sheet prefetching
unit tests

update rn screens
2025-08-20 15:02:52 -05:00
Violet Caulfield
1f3f7b78e3 rn 81 - audio normalization stuff 2025-08-12 15:29:22 -05:00
Violet Caulfield
0e6f1d2bae Bugfix/moving track in queue doesnt work (#458)
Fixing an issue where moving tracks in the queue didn't work or would truncate the queue
2025-07-24 18:43:38 -05:00
Violet Caulfield
fd50111344 Fix Add to Queue Issues (#457)
* fix issue where items added to queue weren't always queued

* On Repeat and Recently Played Sections in CarPlay now load tracks into the queue and start playback
2025-07-24 09:23:16 -05:00
Violet Caulfield
b958cfe37b clean up jest folder between setup, contextual, and functional files (#451)
Clean up Jest and Maestro Folders

Reduction of the number of calls being made by components

Fix issue where a different track would display than the one that is currently playing

Update OTA dependency to fix an issue on iOS
2025-07-22 09:17:42 -05:00