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