I published my first app on Flathub

Hi. I recently published my app on Flathub and have been steadily updating it to make it better.

With it you can download Music from Youtube and tag it to create a beautiful collection of local Music. Check it out: https://flathub.org/apps/net.fhannenheim.musicfetch

141 points · 32 comments · view on lemmy.world

32 Comments

LordeMostarda@lemmy.eco.br · 10 pts · 196d (13 replies)

I am trying to use it, but when I download the music, nothing shows up in my music directory. I read the logs and saw that it is trying to move the downloads to ~/Music. I don’t have that directory, in my localization, it is ~/Música. I tried creating a symlink, but it did not work. Is there any way to fix this? I can share the logs if you want

Katzenmann@feddit.org · 12 pts · 195d (4 replies)

Hmm. You can set the Download directory in the settings, by clicking on the settings button on the top left.

I didn't anticipate Localized Music directory names

spaceslug@lemmy.blahaj.zone · 9 pts · 195d (2 replies)

You should check the XDG_MUSIC_DIR environment variable. Most distros have it as a path to the users music folder.

Katzenmann@feddit.org · 4 pts · 195d (1 reply)

It doesn't seem to be set in the Flatpak container. Also .config/user-dirs.dirs is inaccessible.

I'll probably have to request access to that file

Katzenmann@feddit.org · 6 pts · 195d

Okay I've now pushed an update that fixes this issue.

LordeMostarda@lemmy.eco.br · 3 pts · 195d

Thanks it worked, great app!

lukecooperatus@lemmy.ml · 2 pts · 196d (7 replies)

I had similar problems where the logs say it moved the file to my Music directory, but the directory was empty. I made multiple attempts using different directories and making sure the app has permissions with flatseal, but no luck.

It seems like a nice app though, I'm gonna keep an eye on it!

Katzenmann@feddit.org · 2 pts · 195d (6 replies)

On the download done page there is a button on top with a directory icon, which opens the files in a file manager. Can you please try again and click it and tell me where the files have been downloaded to? That may be a mistake on my part

lukecooperatus@lemmy.ml · 1 pts · 194d (5 replies)

Hey, thanks for the response! I tried again with the recent update (--version says 1.2.1) and still having the problem. The button you refer to opens my file manager in the system root directory, instead of the download directory shown in settings which is now by default set to my home folder instead of ~/Music like in the prior version.

To recreate, I ran the app from the CLI and searched the videos tab for "flowers", then clicked download on the top result. The metadata pages had blank values (are they supposed to populate automatically somehow?), and I clicked through until I got to the final page below.

::: spoiler flowers

~$ flatpak run net.fhannenheim.musicfetch --version
musicfetch_gui 1.2.1
~$ flatpak run net.fhannenheim.musicfetch
libEGL warning: failed to get driver name for fd -1

libEGL warning: MESA-LOADER: failed to retrieve device information

libEGL warning: failed to get driver name for fd -1

MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
libEGL warning: failed to get driver name for fd -1

libEGL warning: MESA-LOADER: failed to retrieve device information

libEGL warning: failed to get driver name for fd -1

MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[2026-01-28T19:22:43Z INFO  musicfetch_gui::app] Starting download of 1 songs
[2026-01-28T19:22:43Z INFO  musicfetch_gui::modules::download] running yt-dlp with args ["--ignore-config", "-x", "-f", "ba", "-o", "/tmp/musicfetch/%(id)s.%(ext)s", "--load-info-json", "-", "-O", "after_move:filepath", "--progress-template", "download:%(progress.downloaded_bytes)s-%(progress.total_bytes)s-%(progress.downloaded_bytes_estimate)s", "--newline", "--progress"]
[2026-01-28T19:22:44Z INFO  musicfetch_gui::modules::download] All songs downloaded
[2026-01-28T19:22:52Z INFO  musicfetch_gui::modules::tagwriter] reading filetype from path /tmp/musicfetch/G7KNmW9a75Y.opus
[2026-01-28T19:22:52Z INFO  musicfetch_gui::modules::tagwriter] filepath extension: Some("opus")
[2026-01-28T19:22:52Z INFO  musicfetch_gui::modules::rename] moving song to: //1 - .opus
[2026-01-28T19:22:52Z INFO  musicfetch_gui::modules::rename] creating parent dir: /

:::

PS: I tried again with another song (Big Boogie - Shut Up) that seems to have metadata available from however MusicFetch is finding metadata. The logs are slightly different in that it seems to attempt to save the file where it is configured to do so (the home folder), but there's still not actually a file saved in that location when I click to open in my file manager:

::: spoiler big boogie

$ flatpak run net.fhannenheim.musicfetch
libEGL warning: failed to get driver name for fd -1

libEGL warning: MESA-LOADER: failed to retrieve device information

libEGL warning: failed to get driver name for fd -1

MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
libEGL warning: failed to get driver name for fd -1

libEGL warning: MESA-LOADER: failed to retrieve device information

libEGL warning: failed to get driver name for fd -1

MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
[2026-01-28T19:31:10Z INFO  musicfetch_gui::app] Starting download of 1 songs
[2026-01-28T19:31:10Z INFO  musicfetch_gui::modules::download] running yt-dlp with args ["--ignore-config", "-x", "-f", "ba", "-o", "/tmp/musicfetch/%(id)s.%(ext)s", "--load-info-json", "-", "-O", "after_move:filepath", "--progress-template", "download:%(progress.downloaded_bytes)s-%(progress.total_bytes)s-%(progress.downloaded_bytes_estimate)s", "--newline", "--progress"]
[2026-01-28T19:31:11Z INFO  musicfetch_gui::modules::download] All songs downloaded
[2026-01-28T19:31:17Z INFO  musicfetch_gui::modules::tagwriter] reading filetype from path /tmp/musicfetch/B9RNRhoUr6E.opus
[2026-01-28T19:31:17Z INFO  musicfetch_gui::modules::tagwriter] filepath extension: Some("opus")
[2026-01-28T19:31:17Z INFO  musicfetch_gui::modules::rename] moving song to: /home/luke
    /Big Boogie/Shut Up/1 - Shut Up.opus
[2026-01-28T19:31:17Z INFO  musicfetch_gui::modules::rename] creating parent dir: /home/luke
    /Big Boogie/Shut Up
[2026-01-28T19:31:23Z INFO  musicfetch_gui::app::update] Opening directory at /home/luke
    /Big Boogie/Shut Up

:::

Edit: forgot to mention, I'm using Fedora Workstation 43, in case that's relevant for you.

Good luck with the app, it's a really good idea!

Katzenmann@feddit.org · 1 pts · 193d (1 reply)

Well. I don't know why I didn't catch this earlier but I've found the bug now. I had a trailing newline in the download path. This sucks.

It's fixed now and should be released in 1-2 hours on flathub

lukecooperatus@lemmy.ml · 1 pts · 193d

I tried the new version of the app (1.3.1) and it works a little better. As mentioned in my other comment, the app tries by default to write to my home directory, which fails. However, if I manually tell the app to use ~/Downloads instead, then it works!

On the other hand, closing and relaunching the app again clears out what I've manually configured and it tries to write to my home directory again until I change it every time.

(Also, apologies, I should be reporting to your issue tracker instead.)

Katzenmann@feddit.org · 1 pts · 193d

I've now tried a fresh install in a Fedora Workstation 43 VM with the language set to German and it worked.

You could try rm .config/cosmic/net.fhannenheim.musicfetch -rf to reset the app and try again.

Katzenmann@feddit.org · 1 pts · 193d (1 reply)

Okay interesting. Are you using the Flatpak? If so, can you try running flatpak run --command=bash net.fhannenheim.musicfetch and running xdg-user-dir MUSIC in the bash shell?

lukecooperatus@lemmy.ml · 1 pts · 193d

Hey, sure no problem. I don't actually have a Music folder ordinarily since I keep my music in a network location instead.

$ flatpak run --command=bash net.fhannenheim.musicfetch
[📦 net.fhannenheim.musicfetch ~]$ xdg-user-dir MUSIC
/home/luke

Flatseal shows that the app has requested permission to access xdg-music, which in my case is my home directory. I would assume that means it should be able to write there, but maybe the "All user files" toggle being off supercedes that? I'm not sure how flatpak permissions work, exactly.

thingsiplay@lemmy.ml · 5 pts · 196d

Congratz on the publishing. :-)

ranzispa@mander.xyz · 1 pts · 195d (1 reply)

Cool! I don't really understand the focus on music as you're probably better off using soulseek to find it, but I'm sure there's people who will appreciate this.

Katzenmann@feddit.org · 3 pts · 195d

Well I'm not really an audophile and on soulseek you mostly get FLACs which are bigger in size. My Music directory is already 10Gb and I'm happy with it being mostly opus which sounds good enough for me

selokichtli@lemmy.ml · 1 pts · 195d

Thank you very much! You are amazing.

db2@lemmy.world · -22 pts · 196d (13 replies)

tl;dr rust yt-dlp frontend in a flatpak for some reason

tomalley8342@lemmy.world · 33 pts · 196d (4 replies)

for some reason

To make it easier to download and use I imagine.

db2@lemmy.world · -19 pts · 196d (3 replies)

That's what things like deb and rpm are for, or scripts to download and compile locally.

Edit: thank you tomalley8342 for being the single person to reply with any basic sense. It's a hell of a thing to thank someone for but with how stupid everyone else has made this comment thread I really do mean it.

gibson@sopuli.xyz · 28 pts · 196d

It also what flatpak is for. What's your point?

erebion@news.erebion.eu · 3 pts · 196d (1 reply)

I don't even like Flatpak, yet here I am thinking this is a stupid comment.

Congrats to Katzenmann for publishing this app. Will try it on my Debian phone, was looking for something like this!

Katzenmann@feddit.org · 2 pts · 195d

I can say that the app works on mobile but I still need to optimize it. The UI is a bit weird when the scaled small and the keyboard doesn't auto-activate because libcosmic is missing support for the wayland protocol used to do that.

Allero@lemmy.today · 21 pts · 196d (2 replies)

yt-dlp is amazing, but not everyone likes to use CLI tools (and, looking down the thread, not everyone prefers native packets as they may cause dependency issues and need extra tools for permissions control).

Even in a geeky Linux space, many people just want to push a button in a nice interface and get what they want. This app provides just that.

Abandon elitism, embrace variety. And use the tools you prefer - after all, plenty of Linux video/music downloaders have yt-dlp under the hood, and I use it on a regular.

erebion@news.erebion.eu · 6 pts · 196d

Also, CLI apps are not that great on phones. I like CLI on a desktop computer, but on my Debian phone I prefer GUI.

db2@lemmy.world · -1 pts · 195d

Abandon elitism

Especially the made up kind. 🙄 The good news is lots of people here won't show up in my feeds anymore.

unwarlikeExtortion@lemmy.ml · 12 pts · 196d (2 replies)

tl;dr rust yt-dlp frontend in a flatpak for some reason

This is why we can't have nice things.

The community Vocal members thereof, instead of seeing genuine effort as something praiseworthy always find the worst stupid angle to belittle well-meaning people from.

db2@lemmy.world · -11 pts · 196d (1 reply)

I'd sure like to know where I belittled OP. The comment is factual, no judgments were made. Not by me anyway.

I'm judging the shit out of you now though.

moonburster@lemmy.world · 0 pts · 195d

I mean it's not that belittling for sure. But you said something you didn't need to say either. Op is happy sharing their first app and you stating "facts" is something no one asked for. My mother taught me: it's okay to stfu sometimes

gravediggersbiscuit@sh.itjust.works · 1 pts · 192d (1 reply)

Man alive. Play a record

db2@lemmy.world · 1 pts · 192d

Are you OK?