Bug 409936 - every start asks for "folder where you keep your music"
Summary: every start asks for "folder where you keep your music"
Status: RESOLVED FIXED
Alias: None
Product: juk
Classification: Applications
Component: general (show other bugs)
Version: 19.04.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Scott Wheeler
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-07-18 08:45 UTC by Martin Koller
Modified: 2019-08-02 00:20 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 19.08


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Koller 2019-07-18 08:45:14 UTC
SUMMARY
Every time juk is started, it pops up the dialog asking
"Please choose the folder where you keep your music"

This should not be done when I have already defined it
(the dialog already shows my selected folder)

SOFTWARE/OS VERSIONS
openSuse 15.0
JuK Version 19.04.3
KDE Frameworks 5.60.0
Qt 5.13.0 (built against 5.13.0)
The xcb windowing system
Comment 1 Michael Pyne 2019-07-24 03:09:54 UTC
So looking through the code, the only way I can see for this to be happening is if the folder you've selected is empty.

I would agree that this is still a bug in this case, but is the folder you have selected empty of music? If not I'll have to look at other possibilities.
Comment 2 Martin Koller 2019-07-24 06:36:39 UTC
No, it's not empty.
And with an older version of juk it worked without getting the dialog.

To prove my point, I downgraded juk to 17.12.3 and yes, I'm right.
Starting it does not show the dialog. (File -> Manage Folders still shows the same folder I selected).

Altough what I see when starting 17.12 from a konsole are error messages I did not get with 19.04:

org.kde.juk: File "/home/koller/priv_docs/Music/Måns Zelmerlöw/Perfectly Re-Damaged/08 - Fade Away.mp3" no longer exists!
org.kde.juk: Trying to add empty file
org.kde.juk: File "Fade Away" no longer exists!
org.kde.juk: File "Måns Zelmerlöw" no longer exists!
org.kde.juk: File "Perfectly Re:Damaged" no longer exists!
org.kde.juk: File "Pop" no longer exists!
org.kde.juk: File "\u0000ߠ\u0000:" no longer exists!
org.kde.juk: File "" no longer exists!
org.kde.juk: Attempted to read file handle from corrupt cache file.
org.kde.juk: Trying to add empty file
org.kde.juk: void LyricsWidget::receiveLyricsReply(QNetworkReply*) Unable to find lyrics in text

And yes, /home/koller/priv_docs/Music no longer exists.
However this is not the path I see in the dialog. In the dialog I see:
/home/koller/priv_docs/Server_Music/

From where does juk get the old path ?
~/.config/jukrc does not contain it. (but maybe juk just removed it)

Starting juk 17.12 again now shows a lot less errors, but still:
org.kde.juk: Trying to add empty file
QFSFileEngine::open: No file name specified
qt.svg: Duplicate unique style id: "radialGradient8574"
org.kde.juk: Trying to add empty file
org.kde.juk: void LyricsWidget::receiveLyricsReply(QNetworkReply*) Unable to find lyrics in text

"Trying to add empty file" makes we wonder ...

Weird ... I now upgraded again to 19.04, started juk and the dialog no longer shows up.

So it seems juk 17.12 found a non-existing path and removed it from its internal list (rc file ?), but juk 19.04 does no longer do this.
Comment 3 Guo Yunhe 2019-07-27 10:39:54 UTC
I can also confirm that even if the music folder isn't empty, JuK will ask you every time. I am trying to debug the code and see if I can find an solution or it.
Comment 4 Guo Yunhe 2019-07-27 10:42:03 UTC
Here is a similarity of our system: we use some special characters in folder and file names. In my case, it is Chinese characters. In Michael's case, it is "å" and "ö".
Comment 5 Guo Yunhe 2019-07-27 13:09:09 UTC
I made a PR which can fix this bug https://invent.kde.org/kde/juk/merge_requests/10
Comment 6 Michael Pyne 2019-08-01 01:25:27 UTC
Odd. I wonder if maybe it's a filename encoding confusion issue with the encoded playlists?

In JuK's case there's two ways playlists are saved:

1) A QDataStream which serializes the internal Playlist* objects to $XDG_DATA_HOME/playlists, which itself refers to PlaylistItem* objects that were serialized in $XDG_DATA_HOME/cache  ($XDG_DATA_HOME is normally ~/.local)

2) Optionally, some playlists are also saved as *.m3u files

This code is convoluted, slow and probably should be scrapped but I haven't done that yet. But let's just say that it's not by accident that there's a debugging message wondering why an empty filename has been introduced into an import file codepath. I've had that happen to me in testing and could never figure out why in a way that I could eliminate the bug.
Comment 7 Michael Pyne 2019-08-02 00:20:46 UTC
Guo Yunhe has, I think, fixed the most immediate issue (opening folder list even when folders have been selected), so closing this bug.

If there are filename encoding issues I would open it as a separate bug, please.