Hello, thank you for your reply.
is this a NSP?
No,It’s a normal playlist
Create a 2 song playlist in Navidrome, sync it, change it on Navidrome then sync it again to see if there’s changes or not.
After async, the changes from Navidrome synced to app
Do you edit the playlist from inside Symfonium?
Yes, because Navidrome’s webpage is not user-friendly, so I don’t use Navidrome at all and only use Symfonium regularly
I took some time to dig into the logs for more insights. Unfortunately, I found that Symfonium’s debug mode only outputs the server’s response body and doesn’t output the API request payload.
To better identify the issue, I used a proxy server to capture Symfonium’s requests, and I seem to have found the cause of the problem. Looks like this isn’t a Navidrom issue - it’s probably an internal Symfonium issue.
(I have just uploaded the request content I captured. Description is my nickname)
During this capture, I added songs to the playlist, and Symfonium made requests to the server in the following order:
- GET /rest/getPlaylist.view
- POST /rest/updatePlaylist.view
- POST /rest/updatePlaylist.view
- GET /rest/getPlaylist.view
It appears that Symfonium’s principle for adding songs to a playlist is to first remove all songs from the playlist and then add them back, so each song addition is accompanied by two /updatePlaylist.view API call
The response from request no.1 shows song ID 2a2fb402e129050ded8d99ebe74f87bc
is at the top of the array, while 83884acae231aa67d82803af7e768243
is at the bottom.
{
"subsonic-response": {
"status": "ok",
// ......
"playlist": {
"id": "3f5838e4-3317-4f77-a2d2-d3f5ac547811",
"name": "常听",
"songCount": 446,
"duration": 120889,
"entry": [
{
"id": "2a2fb402e129050ded8d99ebe74f87bc",
// ......
},
// ......
{
"id": "83884acae231aa67d82803af7e768243",
// .......
}
]
}
}
}
Request no.2 removes all songs from the playlist, and then request no.3 adds all songs back to the playlist. The issue occurs in request no.3. Here’s the payload of request no.3
POST /rest/updatePlaylist.view
playlistId=3f5838e4-3317-4f77-a2d2-d3f5ac547811
&name=%E5%B8%B8%E5%90%AC
&songIdToAdd=276866a1ad1e69cea5e476f9c74477a7 (this is the new song I added to my playlist)
&songIdToAdd=83884acae231aa67d82803af7e768243&
// ......
&songIdToAdd=2a2fb402e129050ded8d99ebe74f87bc
You’ll notice that Symfonium flips the entire playlist upside down: Songs that were at the bottom of the array in no.1 are now at the top, while songs that were at the top are now at the bottom. My newly added songs were placed in front of the earliest added songs.
Because no.3 re-added the songs in reverse order, the playlist returned in no.4 shows this reversed order, and newly added songs at the top.
I am not sure what conditions will trigger this issue, it seems quite random to me. And when it happens again, Symfonium reverses the playlist order again, thus restoring my playlist to its original order. This explains why I feel this issue appears randomly and why the playlist order changes seem so puzzling.
Hope the information I provided can be helpful.