* 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
* 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>
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
* 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
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