Commit Graph

82 Commits

Author SHA1 Message Date
Ritesh Shukla
ac42770eb0 Switch QueryClient to use AsyncStorage as Persister (#656)
Switching the Tanstack Queryclient to use `react-native-async-storage` as the client persister

This will cause users' API response data to be refreshed, so some data may disappear on update
2025-11-09 14:27:16 -06:00
Violet Caulfield
e7394ed9a4 Smol UX Fixes (#655)
* hotfix for context sheet items being too close to the system navigation bar

remove nitro image

fix tap gesture overriding pan gesture in the SwipeableRow
2025-11-09 10:09:25 -06:00
Violet Caulfield
c2b372d423 Bugfix/unshuffling selects incorrect index (#636)
Make shuffling more consistent, fixing issues where the queue gets malformed when shuffling and unshuffling
2025-11-01 17:57:28 -05:00
Violet Caulfield
f476b2199d rnc aint gonna work fam 2025-10-29 02:02:48 -05:00
Violet Caulfield
22c64175e9 update deps 2025-10-29 01:32:46 -05:00
Violet Caulfield
a552d88230 update podfile lock 2025-10-24 11:25:47 -05:00
Violet Caulfield
9b211933e1 Update Nitro, add Google Play deployment lane 2025-10-24 09:28:16 -05:00
Violet Caulfield
b6df13bcc3 Stuck in Info Tab in Settings, Update Deps (#571)
update deps (nitro-modules, screens, navigation)

fix issue where going to the info tab of the app settings would lock the user in place
2025-10-22 21:50:16 -05:00
Ritesh Shukla
4d560be350 Nitro OTA Package (#560)
Adds internal over-the-air update support

Powered by `react-native-nitro-modules`, this OTA functionality is faster than the previous implementation, and won't slow down the UI when updates are being applied since updates occur off the main thread
2025-10-21 14:28:53 -05:00
Violet Caulfield
f79d27d43c 10.11 support, RN 82.1 (#564)
Better Compatibility for Jellyfin 10.11

Upgrade to React Native 0.82.1
2025-10-21 12:26:39 -05:00
Violet Caulfield
224b83aa64 Update Icon, update Deps (#561)
* update iOS icon

update react native screens

update react navigation

* update android icon

* Update Android icon

Update README, yay new logo!
2025-10-20 22:53:02 -05:00
Ritesh Shukla
4c65c92c92 React native upgrade 0.82 (#552) 2025-10-08 21:37:26 +05:30
Violet Caulfield
a095af85ba Detect Background State, Deps Updates (#538)
detect when we are running in the background to pause UI updates, dramatically reducing CPU load and therefore conserving battery life 

update dependency packages, Pods
2025-09-19 09:34:04 -05:00
Violet Caulfield
221bbd48a1 Update React Native, Track Styling (#535)
React Native Upgrade, added an animation when the user presses on a track
2025-09-17 16:44:37 -05:00
Violet Caulfield
d6aa1d5534 Nitro Images + Blurhashes (#503)
Migrate from `react-native-fast-image` to `react-native-nitro-image`

Images will now display a blurry placeholder while loading, and then animate into the full image when loaded

Introduces a redesign to the artist page that is easier to navigate, especially when there are many albums belonging to a given artist

---------

Co-authored-by: riteshshukla04 <riteshshukla2381@gmail.com>
2025-09-15 08:00:54 -05:00
Violet Caulfield
329ca138ed Player Render Optimizations, Better DeviceProfile Handling (#520)
removes hooks from player provider in lieu of nonreactive functions and data fetching. In testing this fixed the issue where the player provider was rerendering when the queue or the currently active track changed

Use a UUID to distinguish between DeviceProfiles, not the name. This means that media info from Jellyfin will be properly refetched if the user selects a different audio quality

mini player rendering optimization fixes, since we don't need that rerendering 4 times a second when updates are only distinguishable every whole second. Also brings some style fixes that reduces vertical height usage

update sentry sdk while we're in there doing debugging
2025-09-08 23:21:34 -05:00
Violet Caulfield
4905ccfd2a Add A-Z Selector for Tracks, Fix issue where home screen didn't load fully on sign in (#505)
Remove Home and Library Context Providers, move their data fetching functionality to reusable Tanstack Query hooks

Fix an issue playlists not showing up after creating

fix issue where the home screen didn't fully load on sign in
2025-09-04 16:35:59 -05:00
Violet Caulfield
9e08996706 Alphabet Selector for Albums, Dep updates (#501)
Get alphabetical selector working for albums. Now an A-Z will appear to the right of the albums list and users can use that to get to a certain letter of albums in the list

Under the hood - also updates the dependencies for React Native and Tanstack Query
2025-08-30 10:31:24 -05:00
Violet Caulfield
3e11d95ace Library Improvements (#500)
Make gesture in the alphabetical selector better, especially when tapping on a letter. When users tap on a letter now, they will be brought to that section of the artists list

Fix issue where Artists in the Library would show "0 Albums". This will now instead display the artist's genres instead
2025-08-29 20:13:38 -05:00
Ritesh Shukla
94ba3af9d1 Adding Cast Support (#489)
Adds Google Cast Speaker Support!

A new button is now present in the bottom left of the player screen. Pressing this button will prompt the user to pick a Cast enabled speaker. Once a speaker is selected, the player controls in Jellify will control the playback of the Cast speaker.
2025-08-26 16:36:57 -05:00
Violet Caulfield
fad6ce0b9d Maintenance/rns update (#487)
Update `react-native-screens` dependency

Update `tanstack-query` dependencies
2025-08-26 06:35:10 -05:00
Violet Caulfield
35b03ecfcc deps update 2025-08-23 07:47:04 -05:00
Violet Caulfield
c8f18d37ca Performance improvements and navigation fixes
Performance fixes for library, artist screens

Navigational fixes in the player

Item Context optimization
2025-08-22 05:26:38 -05:00
Violet Caulfield
8a191b91ab context sheet prefetching
unit tests

update rn screens
2025-08-20 15:02:52 -05:00
Violet Caulfield
66a084c44b update Tanstack
Android  build fixes
2025-08-14 07:19:48 -05:00
Violet Caulfield
aefcef4aed navigation stack refactor 2025-08-14 06:29:01 -05:00
Violet Caulfield
8ee7c93f22 player context selector 2025-08-12 20:24:17 -05:00
Violet Caulfield
12ccf1ba65 Merge branch 'ritesh/rn081' of github.com:Jellify-Music/App into feature/context-menus 2025-08-12 19:49:37 -05:00
Violet Caulfield
b363228e07 player context selector
upgrade RNTP
2025-08-12 19:48:16 -05:00
riteshshukla04
c97b289c1e RN upgrade 2025-08-13 02:08:58 +05:30
Violet Caulfield
1f3f7b78e3 rn 81 - audio normalization stuff 2025-08-12 15:29:22 -05:00
riteshshukla04
1c32d41624 RN upgrade 2025-08-13 01:42:40 +05:30
Violet Caulfield
a9d103b3b3 Fix TextTickers, MP3 Playback Fixes, Fix Blurred Background in Player (Android), Audio Normalization (#471)
Deps updates, fixes text tickers not ticking

Fix blurred background on android

fix library selector being disabled when multiple libraries do exist

Fix issue where mp3 containers ('mpeg') would crash the app

* update readme, fix maestro
2025-08-09 12:32:09 -05:00
Violet Caulfield
8e573f5490 Player Element Spacing, Update Deps, Add PostedPlaybackInfo Query (#469)
* Fixing an issue where some mp3 files were using .mpeg as the extension for a downloaded file

Updates to track mapper to use AudioApi endpoint as default, with UniversalAudioApi endpoint as fallback

fix recent artists on the home screen not updating

* fix error on sign out

* make now playing change faster when loading a new queue

* Improvements to the alphabetical selector handling in the artists page

* Fix issue where most played artists werent properly sorted

* adding suggested artists to discover page

* adjust spacing on player, especially for smaller screens

update deps

* add image tags to refresh images when they are updated server side
2025-08-07 11:48:02 -05:00
Violet Caulfield
002db435a3 Update Deps (#463) 2025-08-01 20:34:57 -05:00
Violet Caulfield
d1dad8ab25 RN Screens + React Navigation Update, Artist Alphabetical Selector Optimizations (#460)
update dependencies

tighten up alphabetical selector haptic feedback

optimize artists pagination somewhat

* update maestro tests
2025-07-30 20:05:11 -05:00
Violet Caulfield
98bf82284f Artist Tab Updates, Haptic Feedback Toggle, QueueProvider Test Coverage (#455) 2025-07-23 16:44: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
Violet Caulfield
09eb9d0c8f 415 feature playlist compact view or filter (#443)
Fix issue where top most artist folders were displayed instead of album artists from the library

Make playlist view in the library tab more compact

Fix app crash on sign out
2025-07-17 07:46:45 -05:00
Violet Caulfield
2f3f290850 Style Enhancements, Dependency Upgrades (#437)
update deps

small styling changes for text

make password a secure text entry always

fix signOut, update maestro tests
2025-07-13 14:04:18 -05:00
Violet Caulfield
2e426ab3e9 Maestro Tests for Search
* maestro search instrumentation

* select search tab in maestro

* adding sentry back in, updating search maestro

* fix tests

* fix maestro flow
2025-07-09 22:25:44 +05:30
Violet Caulfield
9aea821c9b fix build, update readme screenshots 2025-07-07 17:09:32 -05:00
Violet Caulfield
3a7fe51e8f 0.13.0 (#428)
* Gapless playback (#372)

* Add gapless playback prefetch logic for next track

* Enhance player context to support multiple track downloads and prevent redundant prefetching

* Add download quality settings and integrate into track mapping and network contexts (#386)

* Add Shuffle

* Add Library Selection screen and navigation to account tab

* player redesign featuring blurred background artwork

* add repeat modes to player
2025-07-07 16:47:55 -05:00
Violet Caulfield
9e3f2b5056 hot fix for flashlists 2025-06-14 02:28:45 -05:00
Ritesh Shukla
a77bd48eee React native 0.80 (#418)
* Fix Height&Width not changing

* Remove RN 79.2 patch

update locks

* comment out sentry module for now

* Fix Jest Unit Tests for RN 80

* Run linting

* update fastfile for android

---------

Co-authored-by: Violet Caulfield <violet@cosmonautical.cloud>
2025-06-13 13:57:53 -05:00
Ritesh Shukla
ecbbabcf4d Maestro Setup for app (#407)
Implementing Maestro tests against onboarding process
2025-06-04 15:44:52 -05:00
Violet Caulfield
cdb75fad51 A-Z Selector for Artists, Prep for the same for Albums, Style Fixes, Verbiage Adjustments (#373)
Lots of overall improvements to styling, color usage, and wording

Adds more iconography, adjust settings tab to hide "Labs", enabled via 5 taps on "Made with <3" message

Adds flashlist, for faster lists. Lots of work on the library to add an alphabetical selector for skipping to a particular spot in the list quickly. Will be iterated on as we build out more ways to sort and view your library!

adds additional dns fixes for connecting to a local domain
2025-05-18 10:35:46 -05:00
Violet Caulfield
e3691819fb Local DNS resolution Fails (#367)
Fixes an issue where connecting via a local domain wasn't possible
2025-05-15 20:19:18 -05:00
Ritesh Shukla
20937ff359 Implement OTA Updates (#364)
Implements OTA updates, fetched via GitHub from our `App-Bundles` repository

All Typescript changes can be delivered this way

All native changes will need to go through the traditional `publish-beta` workflow, which is now run manually
2025-05-15 11:04:50 -05:00
Violet Caulfield
b455208588 Update React Native to 0.79.2, Bump Dependencies, Updates to Settings Tab, Add opt in Logging and telemetry (#338)
Welcome to Jellify 0.12.2!

This update comes with a much anticipated developer feature - and that is opt-in logging and telemetry. This is purely an opt-in feature, and can be toggled at anytime either when logging in for the first time, or in the settings tab. Under no circumstances will this ever be required to use Jellify, and all data that is collected is anonymized

The Settings tab has had a facelift, stealing design queues from the library page. This is where adjustable settings will make their home in updates to come, as well as how beta testing larger features will occur with “Labs”

This update also fixes issues with playback reporting, where the Jellyfin server wasn’t marking songs as played. This was not intended and has been fixed for those using the Last.FM plugin for scrobbling

There is also a slew of upgrades to underlying dependencies to make sure we are up to date on that front 

Thanks for reading! ~Violet
2025-05-10 03:01:06 -05:00