gitbobobo / StreamMusic

支持 Android、iOS、macOS、Windows 平台的 Subsonic/Navidrome/Jellyfin/Emby/AudioStation 客户端。
https://music.aqzscn.cn/
733 stars 21 forks source link

Albums of the same year are sorted randomly #476

Open Insprill opened 1 month ago

Insprill commented 1 month ago

Describe the bug (BUG 描述) Albums released in the same year appear to be sorted completely randomly.

To Reproduce (复现步骤)

  1. Get several albums from the same artist released in the same year.
  2. Go to the artist page and see they aren't sorted in any way that makes sense.

Expected behavior (期望行为) Albums of the same year should be sorted alphabetically.

Screenshots (截图) All albums in this screenshot are released in 2016, with the date of the show at the start of the album name. image

Platform and Device Info (操作系统及设备信息)

Music Server Type (音乐服务器类型) Navidrome v0.52.5

gitbobobo commented 1 month ago

Currently, this is impossible because the Navidrome interface seems to only support sorting in one way. Here is the request structure:

/api/album?_start=0&_end=0&_order=DESC&_sort=minYear&artist_id=e0557b3b0dfc83cfcaefed59deda28cd

Insprill commented 1 month ago

I can't test the API at the moment, I can look when I have time, but that doesn't seem right. The albums are sorted correctly in the Navidrome UI, Amperfy, Substreamer, Symfonium, and Feishin. Stream Music is the only application that has them sorted incorrectly.

gitbobobo commented 2 weeks ago

If you observe carefully, you will find that the sorting of StreamMusic is the reverse order of the Navidrome UI sorting. This is because I believe that the latest released albums should be at the front.

Only an interface that supports multiple sorting criteria simultaneously can solve the issue you mentioned.

Insprill commented 2 weeks ago

That's not the issue, the issue is with albums released in the same year. In the screenshot I posted, those are all live concerts that were released in 2016, so the DATE tag is simply 2016. The name of the album starts with the full date if the show, so a full album name would be for example 2016/05/27 Dublin, Ireland. If you look at the screenshot I posted, there's two albums that came out in May (05, yyyy/mm/dd) that are not next to each other, but are separated by albums from different months. I have several hundred live shows from different years all labeled like this, and all of them from the same year are scrambled like that in StreamMusic making it incredibly difficult to find an albums from a certain date.