tamland / airsonic-refix

Modern web UI for Subsonic compatible servers
GNU Affero General Public License v3.0
304 stars 48 forks source link

error on empty playlist -- suppress/eliminate/acknowledge? #135

Closed iconoclasthero closed 7 months ago

iconoclasthero commented 7 months ago

This error comes up on every screen refresh and it is really relating no information usable to anyone except an admin.

error reading playlist ".mpdignore.m3u": convert id to str: strconv.Atoi: parsing ".mpdignore.m3u": invalid syntax
Error: error reading playlist ".mpdignore.m3u": convert id to str: strconv.Atoi: parsing ".mpdignore.m3u": invalid syntax at https://<url redacted>/js/app.3024b9e5.js:1:60030 at async on.getPlaylists (https://<url redacted>/js/app.3024b9e5.js:1:61771) at async Promise.all (index 1)

So... here's the layout:

$ ll /library/music/mpd\ playlists/.mpdignore.m3u 
.rw-rw-r-- 0 mpd 15 Apr 11:04 '/library/music/mpd playlists'/.mpdignore.m3u

as you can see the playlist file is empty and I have it for a function that is irrelevant to gonic/airsonic but very much relevant to my mpd server as it is for https://github.com/iconoclasthero/mpdignore.

The empty playlist isn't causing a problem for mpd and therefore should not be popping an error in the UI for a normal user of airsonic/gonic. I can go and look and see if I can eliminate the empty .m3u, but I assume that if I have it sitting there empty with mpd owning it, it's there for a specific reason and I don't want to eliminate it...and I don't see why it needs to be removed to get rid of this error at the normal-user level.

iconoclasthero commented 7 months ago

ok, so it's not the fact that the playlist is empty. I've checked everything from the mpd side and:

$ dir=$(grep playlist_directory /etc/mpd.conf); echo "==output=="; echo "$dir"; \
dir="${dir%\"*}"; dir="${dir#*\"}"; echo "$dir";\
 [[ ! -d "$dir" ]] && mkdir "${dir}"; sudo chown mpd:media "$dir"; lla "$dir" -d; ll "$dir"; cat "$dir/"*m3u
==output==
playlist_directory      "/library/music/mpd playlists"
/library/music/mpd playlists
drwxrwxr-x - mpd media 15 Apr 12:04 /library/music/'mpd playlists'
.rw-r--r-- 2.3k mpd 15 Apr 12:00 test.m3u
.rw-r--r-- 2.3k mpd 15 Apr 12:04 '2024.04.15 - test.m3u'
Adele/Adele -- 19 (2008)/Adele -- 01-03 - Chasing Pavements.flac
Adele/Adele -- 19 (2008)/Adele -- 01-04 - Cold Shoulder.flac
Adele/Adele -- 19 (2008)/Adele -- 01-05 - Crazy for You.flac
Adele/Adele -- 19 (2008)/Adele -- 01-06 - Melt My Heart to Stone.flac
Adele/Adele -- 19 (2008)/Adele -- 01-07 - First Love.flac
Adele/Adele -- 19 (2008)/Adele -- 01-08 - Right as Rain.flac
Adele/Adele -- 19 (2008)/Adele -- 01-09 - Make You Feel My Love.flac
Adele/Adele -- 19 (2008)/Adele -- 01-10 - My Same.flac
Adele/Adele -- 19 (2008)/Adele -- 01-12 - Hometown Glory.flac
Adele/Adele -- 19 (2008)/Adele -- 02-01 - Chasing Pavements.flac
Adele/Adele -- 19 (2008)/Adele -- 02-02 - Melt My Heart to Stone.flac
Adele/Adele -- 19 (2008)/Adele -- 02-03 - That's It, I Quit, I'm Moving On.flac
Adele/Adele -- 19 (2008)/Adele -- 02-04 - Crazy for You.flac
Adele/Adele -- 19 (2008)/Adele -- 02-05 - Right as Rain.flac
Adele/Adele -- 19 (2008)/Adele -- 02-06 - My Same.flac
Adele/Adele -- 19 (2008)/Adele -- 02-07 - Make You Feel My Love.flac
Adele/Adele -- 19 (2008)/Adele -- 02-08 - Daydreamer.flac
Adele/Adele -- 19 (2008)/Adele -- 02-09 - Hometown Glory.flac
Adele/Adele -- 19 (2008)/Adele -- 02-10 - Many Shades of Black (with The Raconteurs).flac
Adele/Adele -- 21 (2010)/Adele -- 01 - Rolling in the Deep.flac
Adele/Adele -- 21 (2010)/Adele -- 02 - Rumour Has It.flac
Adele/Adele -- 21 (2010)/Adele -- 03 - Turning Tables.flac
Adele/Adele -- 21 (2010)/Adele -- 04 - Don't You Remember.flac
Adele/Adele -- 21 (2010)/Adele -- 05 - Set Fire to the Rain.flac
Adele/Adele -- 21 (2010)/Adele -- 06 - He Won't Go.flac
Adele/Adele -- 21 (2010)/Adele -- 07 - Take It All.flac
Adele/Adele -- 21 (2010)/Adele -- 08 - I'll Be Waiting.flac
Adele/Adele -- 21 (2010)/Adele -- 09 - One and Only.flac
Adele/Adele -- 21 (2010)/Adele -- 10 - Lovesong.flac
Adele/Adele -- 21 (2010)/Adele -- 11 - Someone Like You.flac
Adele/Adele -- 21 (2010)/Adele -- 12 - If It Hadn't Been for Love.flac
Adele/Adele -- 21 (2010)/Adele -- 13 - Hiding My Heart.flac
Adele/Adele -- 25 (2015)/Adele -- 01 - Hello.flac
Adele/Adele -- 25 (2015)/Adele -- 02 - Send My Love (to Your New Lover).flac
Adele/Adele -- 25 (2015)/Adele -- 03 - I Miss You.flac
Adele/Adele -- 25 (2015)/Adele -- 04 - When We Were Young.flac
Adele/Adele -- 19 (2008)/Adele -- 01-03 - Chasing Pavements.flac
Adele/Adele -- 19 (2008)/Adele -- 01-04 - Cold Shoulder.flac
Adele/Adele -- 19 (2008)/Adele -- 01-05 - Crazy for You.flac
Adele/Adele -- 19 (2008)/Adele -- 01-06 - Melt My Heart to Stone.flac
Adele/Adele -- 19 (2008)/Adele -- 01-07 - First Love.flac
Adele/Adele -- 19 (2008)/Adele -- 01-08 - Right as Rain.flac
Adele/Adele -- 19 (2008)/Adele -- 01-09 - Make You Feel My Love.flac
Adele/Adele -- 19 (2008)/Adele -- 01-10 - My Same.flac
Adele/Adele -- 19 (2008)/Adele -- 01-12 - Hometown Glory.flac
Adele/Adele -- 19 (2008)/Adele -- 02-01 - Chasing Pavements.flac
Adele/Adele -- 19 (2008)/Adele -- 02-02 - Melt My Heart to Stone.flac
Adele/Adele -- 19 (2008)/Adele -- 02-03 - That's It, I Quit, I'm Moving On.flac
Adele/Adele -- 19 (2008)/Adele -- 02-04 - Crazy for You.flac
Adele/Adele -- 19 (2008)/Adele -- 02-05 - Right as Rain.flac
Adele/Adele -- 19 (2008)/Adele -- 02-06 - My Same.flac
Adele/Adele -- 19 (2008)/Adele -- 02-07 - Make You Feel My Love.flac
Adele/Adele -- 19 (2008)/Adele -- 02-08 - Daydreamer.flac
Adele/Adele -- 19 (2008)/Adele -- 02-09 - Hometown Glory.flac
Adele/Adele -- 19 (2008)/Adele -- 02-10 - Many Shades of Black (with The Raconteurs).flac
Adele/Adele -- 21 (2010)/Adele -- 01 - Rolling in the Deep.flac
Adele/Adele -- 21 (2010)/Adele -- 02 - Rumour Has It.flac
Adele/Adele -- 21 (2010)/Adele -- 03 - Turning Tables.flac
Adele/Adele -- 21 (2010)/Adele -- 04 - Don't You Remember.flac
Adele/Adele -- 21 (2010)/Adele -- 05 - Set Fire to the Rain.flac
Adele/Adele -- 21 (2010)/Adele -- 06 - He Won't Go.flac
Adele/Adele -- 21 (2010)/Adele -- 07 - Take It All.flac
Adele/Adele -- 21 (2010)/Adele -- 08 - I'll Be Waiting.flac
Adele/Adele -- 21 (2010)/Adele -- 09 - One and Only.flac
Adele/Adele -- 21 (2010)/Adele -- 10 - Lovesong.flac
Adele/Adele -- 21 (2010)/Adele -- 11 - Someone Like You.flac
Adele/Adele -- 21 (2010)/Adele -- 12 - If It Hadn't Been for Love.flac
Adele/Adele -- 21 (2010)/Adele -- 13 - Hiding My Heart.flac
Adele/Adele -- 25 (2015)/Adele -- 01 - Hello.flac
Adele/Adele -- 25 (2015)/Adele -- 02 - Send My Love (to Your New Lover).flac
Adele/Adele -- 25 (2015)/Adele -- 03 - I Miss You.flac
Adele/Adele -- 25 (2015)/Adele -- 04 - When We Were Young.flac
sentriz commented 7 months ago

gonic needs to know what user owns the playlist, so playlists should be in the format /playlists/<user id>/<playlist>.m3u

for example the default user /playlists/1/hello.m3u

iconoclasthero commented 7 months ago

gonic needs to know what user owns the playlist, so playlists should be in the format /playlists/<user id>/<playlist>.m3u

for example the default user /playlists/1/hello.m3u


$ ll /library/music/mpd\ playlists/1/1* /library/music/mpd\ playlists/
.rw-rw-r-- 282k mpd 15 Feb  2023 '/library/music/mpd playlists/1'/12-new.music.m3u
.rw-rw-r--  11k mpd 15 Feb  2023 '/library/music/mpd playlists/1'/11-new.music.m3u
.rw-rw-r-- 427k mpd 15 Feb  2023 '/library/music/mpd playlists/1'/12-new.playlist.m3u

'/library/music/mpd playlists/': drwxrwxr-x - mpd 15 Apr 12:10 1



So I moved everything to a `/library/music/mpd playlists/1` [and as you suggested, it stopped the error]  but I don't understand what this means for the normal functioning of mpd...mpd doesn't store it's playlists in subfolders of `grep playlist_directory /etc/mpd.conf`   ... ?
sentriz commented 7 months ago

not sure what this has to do with mpd. gonic doesn't use mpd. if you want to share playlists between mpd and gonic that's a separate thing. you could kind of make it work if you tell mpd to look in playlists/1/

iconoclasthero commented 7 months ago

My apologies, I've gotten things confused about what does what. I forgot that I've now got several different systems all trying to use the same base library and none of them are designed to work together.

as a side note, there is no reason to expect that any of the subsonic-api-type servers to ignore files found in .mpdignore files within an existing music collection (where the ignoring work's already been done), however as an option I think that would be rather useful...and for all i know it may already do that and I just haven't looked.

Again, sorry, my solution is to use mpd, trying to set things up so that it is available to let someone else listen is what's driving me batty.