I'm not sure if I get your solution. It looks like you're limiting the list of items to 1000, so user can have either first 1000 songs/artists/albums from Spotify sorted by name or see everything. That's not really that good, if I have for example 2000 songs, I'd only get a half of that and it might be the ones I don't want. I think we should rather do some kind of caching, for example fetching all the data, storing it in a DB and somehow find a good way to figure out when should we refetch it. The good thing about that approach is that once everything is fetched, it should be running pretty smooth, even offline.
I'm not sure if I get your solution. It looks like you're limiting the list of items to 1000, so user can have either first 1000 songs/artists/albums from Spotify sorted by name or see everything. That's not really that good, if I have for example 2000 songs, I'd only get a half of that and it might be the ones I don't want. I think we should rather do some kind of caching, for example fetching all the data, storing it in a DB and somehow find a good way to figure out when should we refetch it. The good thing about that approach is that once everything is fetched, it should be running pretty smooth, even offline.
Or we could just drop sorting until Spotify fixes their API: https://github.com/spotify/web-api/issues/1195