* basic i18n poc
* translate home, filters, tabs
support dot notation in backend for namespaces
* i18n context menu, artist filters, list controls
also nothings here
fix backend not caching fallback
* i18n queue, artist view, search/results
* i18n settings and server view
* Added translation using Weblate (Norwegian Bokmål)
* Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (6 of 6 strings)
Translation: Subtracks/subtracks
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/nb_NO/
* Update translation files
Updated by "Cleanup translation files" hook in Weblate.
Translation: Subtracks/subtracks
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/
* Update translation files
Updated by "Cleanup translation files" hook in Weblate.
Translation: Subtracks/subtracks
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/
* Update translation files
Updated by "Cleanup translation files" hook in Weblate.
Translation: Subtracks/subtracks
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/
* fix url escaping
* added some mostly naive text overflow fixes
rewrote filter context menu as a slide in because the old one apparently can't handle dynamic width
* Added translation using Weblate (French)
* Translated using Weblate (French)
Currently translated at 17.4% (11 of 63 strings)
Translation: Subtracks/subtracks
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/fr/
* Translated using Weblate (French)
Currently translated at 19.0% (12 of 63 strings)
Translation: Subtracks/subtracks
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/fr/
* Translated using Weblate (French)
Currently translated at 40.0% (26 of 65 strings)
Translation: Subtracks/subtracks
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/fr/
* add weblate and some pretty badges to readme
* fix link
* Translated using Weblate (French)
Currently translated at 50.7% (33 of 65 strings)
Translation: Subtracks/subtracks
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/fr/
* Translated using Weblate (English)
Currently translated at 100.0% (65 of 65 strings)
Translation: Subtracks/subtracks
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/en/
* Translated using Weblate (French)
Currently translated at 90.7% (59 of 65 strings)
Translation: Subtracks/subtracks
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/fr/
* i18n now playing context type
fix overscroll on new filter menu
fix getting default namespace from the i18n backend
* Translated using Weblate (French)
Currently translated at 96.9% (63 of 65 strings)
Translation: Subtracks/subtracks
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/fr/
* Translated using Weblate (French)
Currently translated at 100.0% (66 of 66 strings)
Translation: Subtracks/subtracks
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/fr/
* Translated using Weblate (Japanese) (#98)
Currently translated at 7.5% (5 of 66 strings)
Translation: Subtracks/subtracks
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/ja/
Co-authored-by: Austin Riedhammer <austinried@functionkey.xyz>
* little note to remind me why that's there
* update licenses
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Clyhtsuriva <aimeric@adjutor.xyz>
* initial react-query experiments
* use queries for item screens
send the data we do have over routing to prepopulate (album/playlist)
use number for starred because sending Date freaks out react-navigation
* add in equiv. song cover art fix
* reorg, switch artistview over
start mapping song cover art when any are available
* refactor useStar to queries
fix caching for starred items and album cover art
* add hook to reset queries on server change
* refactor search to use query
* fix song cover art setting
* use query for artistInfo
* remove last bits of library state
* cleanup
* use query key factory
already fixed one wrong key...
* require coverart size
* let's try no promise queues on these for now
* image cache uses query
* perf fix for playlist parsing
also use placeholder data so we don't have to deal with staleness
* drill that disabled
also list controls doesn't need its own songs hook/copy
* switch to react-native-blob-util for downloads
slightly slower but allows us to use DownloadManager, which backgrounds downloads so they are no longer corrupted when the app suspends
* add a fake "top songs" based on artist search
then sorted by play count/ratings
artistview should load now even if topSongs fails
* try not to swap between topSongs/search on refetch
set queueContext by song list so the index isn't off if the list changes
* add content type validation for file fetching
also try to speed up existing file return by limiting fs ops
* if the HEAD fails, don't queue the download
* clean up params
* reimpl clear image cache
* precompute contextId
prevents wrong "is playing" when any mismatch between queue and list
* clear images from all servers
use external files dir instead of cache
* fix pressable disabled flicker
don't retry topsongs on failure
try to optimize setqueue and fixcoverart a bit
* wait for queries during clear
* break out fetchExistingFile from fetchFile
allows to tell if file is coming from disk or not
only show placeholder/loading spinner if actually fetching image
* forgot these wouldn't do anything with objects
* remove query cache when switching servers
* add content-disposition extension gathering
add support for progress hook (needs native support still)
* added custom RNBU pkg with progress changes
* fully unmount tabs when server changes
prevents unwanted requests, gives fresh start on switch
fix fixCoverArt not re-rendering in certain cases on search
* use serverId from fetch deps
* fix lint
* update licenses
* just use the whole lodash package
* make using cache buster optional
* start of music store refactor
moving stuff into a state cache
better separate it from view logic
* added paginated list/album list
* reworked fetchAlbumList to remove ui state
refactored home screen to use new method
i broke playing songs somehow, JS thread goes into a loop
* don't reset parts manually, do it all at once
* fixed perf issue related to too many rerenders
rerenders were caused by strict equality check on object/array picks
switched artistInfo to new store
updated zustand and fixed deprecation warnings
* update typescript
and use workspace tsc version for vscode
* remove old artistInfo
* switched to new playlist w/songs
removed more unused stuff
* remove unused + (slightly) rework search
* refactor star
* use only original/large imges for covers/artist
fix view artist from context menu
add loading indicators to song list and artist views (show info we have right away)
* set starred/unstar assuming it works
and correct state on error
* reorg, remove old music slice files
* added back fix for song cover art
* sort artists by localCompare name
* update licenses
* fix now playing background grey bar
* update react-native-gesture-handler
for node-fetch security alert
* fix another gradient height grey bar issue
* update licenses again
* remove thumbnail cache
* rename to remove "Library" from methods
* Revert "remove thumbnail cache"
This reverts commit e0db4931f11bbf4cd8e73102d06505c6ae85f4a6.
* use ids for lists, pull state later
* Revert "use only original/large imges for covers/artist"
This reverts commit c9aea9065ce6ebe3c8b09c10dd74d4de153d76fd.
* deep equal ListItem props for now
this needs a bigger refactor
* use immer as middleware
* refactor api client to use string method
hoping to use this for requestKey/deduping next
* use thumbnails in list items
* Revert "refactor api client to use string method"
This reverts commit 234326135b7af96cb91b941e7ca515f45c632556.
* rename/cleanup
* store servers by id
* get rid of settings selectors
* renames for clarity
remove unused estimateContentLength setting
* remove trackplayer selectors
* fix migration for library filter settings
* fixed shuffle order reporting wrong track/queue
* removed the other selectors
* don't actually need es6/react for our state
* fix slow artist sort on star
localeCompare is too slow for large lists
- fixed image path for RNTP notification
- fixed overwhelming number of promises/requests generated when scrolling through artists (could still delay loading those further...)
- fixed spinner not spinning while artistInfo is fetched for image url