Commit Graph

37 Commits

Author SHA1 Message Date
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
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
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
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
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
Violet Caulfield
8a69960a97 Add Revamped Library, bugfixes (#333)
Adds a revamped library page - where items aren't limited to just a user's favorites.

Fixes scrubber lag in player screen

Reorganizes component folder into separate components - providers - screens for better visibility and separation of concerns

Addresses some styling issues with text and font legibility
2025-05-09 08:06:35 -05:00
Violet Caulfield
c421c20d35 API Client Refactor, Add Frequents to CarPlay, Allow Playback on Startup (#327)
Refactors the client.ts file and moves it's functionality into the JellifyContext for use in other componentry. Lots of touching in the api folder to refactor this. I also found an issue when adding items to a playlist, so I bumped the axios package - which fixed the issue.

Adds "Most Played" and "On Repeat" sections to CarPlay. Most Played will allow users to view their most played artists, while On Repeat will give users access to their top tracks, of which they can select and start playback

Fixes an issue where on startup, if the user was logged in and had a persisted queue, it wouldn't playback. Users should be able to directly start up the queue upon relaunching the app if they are authenticated
2025-05-02 18:34:57 -05:00
Violet Caulfield
e78b9d2114 Re-enable New Architecture on Android, Remove Blurhash Deps, Improve Album Layout on Larger Viewports (#318)
Re-enables new architecture on Android by switching to a different fork of React Native Track Player

Removes dependency on react-native-blurhash - we aren't using it as our image component can handle this for us

Improves album layout on artist screen by adjusting flex of album details and album artwork
2025-05-01 14:53:54 -05:00
Violet Caulfield
ae7aef5df3 Instant Mix Buildout, Fix Android Playback Controls, Update Toast Styling (#316)
Adds an Instant Mix Button and Screen - users can view an instant mix from the album page by tapping on the Compass icon (which is styled for Dark and Light mode, respectfully)

Fixes Android playback controls not showing up - this is a regression introduced by React Native's New Architecture and is being rolled back. A future update will fix this and get Android builds back on the New Architecture

Adds Tamagui styling to toasts so that they are more homogenous with the rest of the UI
2025-05-01 10:46:03 -05:00
Ritesh Shukla
100acd7641 Remove Expo + Code Cleanup +. Test Cases Fix (#312) 2025-05-01 03:22:45 -05:00
Violet Caulfield
34382d45a9 UI Overflow Fixes, Move Source to src Folder (#311)
Fix issue where player elements would be falling off of the screen

Move source files into `src` folder for project organization
2025-04-30 10:40:31 -05:00
Violet Caulfield
2160fbc854 Fix Playback Reporting, Add QueueProvider Test Coverage (#300)
Addresses regression where playback was not reported
2025-04-28 19:45:47 -05:00
Violet Caulfield
767fa3cbcf Unit Testing Additions, Fix Favorites Library (#298)
Additions to testing files - including ensuring QueueProvider functionality

Fix issue where artists in the favorites wouldn't show up
2025-04-28 07:04:31 -05:00
Violet Caulfield
cb1058bb3c Queue Provider Clean Up (#295)
The Big Queuing Refactor 

Please report any issues with playback or queuing tracks!
2025-04-27 10:33:40 -05:00
Violet Caulfield
3cffc623e4 Fix Android? Queue and Player Control Improvements (#293)
I hope this fixes android - restored a dependency that wasnt present in previous versions (.5, .6, .7)

Tightening up player refactor, namely around indexes and skipping tracks
2025-04-27 01:13:14 -05:00
Violet Caulfield
a08e66546c Offline Mode MVP (#272)
* OfflineMode

* Template addition and Fixes

* More Changes

* More Changes

* smol updates to provider

run yarn format

* update internet connection watcher colors and verbiage

remove react native file access dependency

* Offline changes

* UI tweaks for offline indicator

* get jest to pass

---------

Co-authored-by: Ritesh Shukla <ritesh.shukla2@129net231.unica.it>
Co-authored-by: Ritesh Shukla <ritesh.shukla2@M-LD4JMWLW26.local>
Co-authored-by: Ritesh Shukla <75062358+riteshshukla04@users.noreply.github.com>
2025-04-22 12:07:55 -05:00
Violet Caulfield
1db7379dfc add uuid to carplay templates, run prettier 2025-04-13 13:05:33 -05:00
Ritesh Shukla
cf904fad92 Fix tests 2025-04-13 22:31:01 +05:30
Violet Caulfield
96dc9b3800 mock client instance class 2025-04-13 08:51:07 -05:00
Violet Caulfield
5ca00df6f7 [skip actions]
run prettier
2025-04-12 10:16:10 -05:00
Violet Caulfield
3a0502c5e5 update reanimated, RNTP mocks 2025-04-09 09:03:12 -05:00
Violet Caulfield
d79875c175 format react-native-blurhash mocking 2025-04-09 07:54:02 -05:00
Violet Caulfield
e4907076ac mock blurhash module 2025-04-09 07:50:40 -05:00
Violet Caulfield
3269618e0c mocks for carplay module 2025-04-06 10:59:24 -05:00
Violet Caulfield
54535e310c mock burnt module
update workflow naming
2025-04-06 10:13:30 -05:00
Violet Caulfield
1da4f28873 mock rn haptic feedback 2025-04-03 14:44:36 -07:00
Violet Caulfield
4bdff94e01 mock device info 2025-04-03 14:32:06 -07:00
Violet Caulfield
8e5074cf51 rntp mocks 2025-04-03 14:26:11 -07:00
Violet Caulfield
29854bb5c4 adjust constants being mocked 2025-04-03 14:19:17 -07:00
Violet Caulfield
ac29b03d07 fix player capability constants mocking 2025-04-03 10:35:07 -07:00
Violet Caulfield
59d88707c7 syntax on jest setup.js 2025-04-03 10:31:22 -07:00
Violet Caulfield
455647bd70 update useProgress mocks 2025-04-03 10:27:25 -07:00
Violet Caulfield
7d2175a56b adjust mocked RNTP modules 2025-04-03 10:19:48 -07:00
Violet Caulfield
0f577ff6cf mock getActiveTrackIndex 2025-04-03 09:31:29 -07:00
Violet Caulfield
105c19143b update setup.js 2025-04-03 09:14:23 -07:00
Violet Caulfield
12f9e92b00 jest configuration
Create jest folder, create setup.js file used after env
2025-04-03 09:06:31 -07:00