Add a progress percentage/bar/log for library syncs instead of the spinning indicator, even if it’s only a rough estimate.
People with large libraries like me (almost 800.000 songs and over 20TB in Navidrome) cannot see that the sync is actually still doing something. I had to enable debug logging and check out a 200MB log file with 350.000 lines to see that the sync is in fact not hanging after no visible change occurred over multiple hours.
There’s plans to improve on that, but Subsonic is the typical example of it’s not possible
The API suxx for fast sync all I can do is query artists X by X until the returned data is < X, then the same for albums then the same for songs.
I never know how many items are left or the time it will take or anything.
With that said even for so much data is should not take multiple hours there’s something wrong.
I suspect the search3 endpoint hack I use might be slow on that amount of data on Navidrome side and maybe I should check with @deluan if there’s something to improve with indexes or something.
I’ve got my library in Navidrome, Plex and Jellyfin, Navidrome being the newest addition.
It took Navidrome a bit under 19 hours to scan my library and except for the missing support for .lrc files and occasional browser freezes when accessing huge artists with hundreds of albums I am happy with the performance.
I was looking forward to see how Symfonium handles my library as I was not happy with Ultrasonic and substreamer, which I’ve tried first.
By now the symfonium log file is almost 2GB in size. Should I let the sync run and see where it ends up/if it finishes at all?
I’ve disabled logging now. The device is a OnePlus 7T in high performance mode connected to the same local network that the Navidrome server is in.
Considering that the sync is currently adding songs starting with “B” this might take quite a while more to finish.
2023-07-10 16:44:50.177 Verbose/Subsonic: Insert Song: Big Time
If you’re interested in other parts of the log let me know, I’ve just serched for \d+.?\d+ms in the lines with search3.view and tried to keep it short. All other times with ms are in the sub 1-10ms range.
The sync did eventually finish after taking 2 days and draining my phones battery 2 times. There’s some room for improvement I guess. The last time I checked the log it took over 3.1 seconds for each call to navidrome when it was adding songs starting with “p”.
Hey @655321, I just merged a change in Navidrome that should speed up this sync process. It will be part of the next release, but it will be available in the develop build later today, if you want to give it a try.