easyeffects icon indicating copy to clipboard operation
easyeffects copied to clipboard

Presets did not get migrated

Open waffshappen opened this issue 1 month ago • 19 comments

EasyEffects Version

8.0.0

What package are you using?

Flatpak (Flathub)

Distribution

Fedora 43

Describe the bug

After launching the new Version all my existing presets did not automatically get migrated. Since i didnt know this would happen i do not have a log.

Expected Behavior

Easyeffects should migrate my old profiles and set my old default active.

Debug Log

Debug Log
N/A

Additional Information

No response

waffshappen avatar Nov 10 '25 13:11 waffshappen

I wonder why you don't have the previous presets. Maybe Flatpak is involved in this issue, but on the first launch the app is supposed to move the presets to the new location and move the old folders to the trash. Our intention was not to remove the presets for existing users.

Digitalone1 avatar Nov 10 '25 13:11 Digitalone1

There is something different going on inside flatpak's sandbox. But I still do not know what. So far only flatpak users have reported issues with the migration.

wwmm avatar Nov 10 '25 13:11 wwmm

I know that the old files are going to the sandbox trash instead of the user trash. But the new preset folder should have got the presets copy. Weird...

wwmm avatar Nov 10 '25 13:11 wwmm

Going to the Flatpak sandbox trash instead of the user trash at least makes sense even if it is not very good behaviour for end users. But I am a bit puzzled how presets are not being migrated.

Essentially all this migration is doing is moving the presets from the XDG_CONFIG_HOME directory to the XDG_DATA_HOME directory right? In Flatpak these point to different directories than on the host, but they are still perfectly normal directories otherwise. Are there some hardcoded paths somewhere or something?

vchernin avatar Nov 10 '25 18:11 vchernin

Essentially all this migration is doing is moving the presets from the XDG_CONFIG_HOME directory to the XDG_DATA_HOME directory right?

Yes. Nothing complicated. After creating the necessary directories we call xdg_migration. All it does is copying the files to the new folder and then move the old folders to the trash.

Are there some hardcoded paths somewhere or something?

As far as I remember only the convolver and rnnoise had. But I adjusted them when I added the migration function.

wwmm avatar Nov 10 '25 23:11 wwmm

I tested this whole thing several times with our AUR package and it was fine. There is something very subtle making this fail on flatpak.

wwmm avatar Nov 10 '25 23:11 wwmm

This is not just a flatpak issue. I updated it from an extra repo install on Arch, and it didn't migrate. I lost everything. Just empty config folders in my trash. Did a search through my entire fs for the files. They're no where. Incredibly livid to say the least. Some effects I was using, took a very long time to dial in. But that's besides the point.

r-hiland avatar Nov 15 '25 01:11 r-hiland

This is not just a flatpak issue. I updated it from an extra repo install on Arch, and it didn't migrate. I lost everything. Just empty config folders in my trash. Did a search through my entire fs for the files. They're no where. Incredibly livid to say the least. Some effects I was using, took a very long time to dial in. But that's besides the point.

Hum... Which desktop do you use? Considering we both use Arch Linux it can't be a difference in system library version.

wwmm avatar Nov 15 '25 02:11 wwmm

Did a search through my entire fs for the files

Is there nothing inside ~/.local/share/easyeffects/ ? And in the output of sudo journalctl | grep -i "Migrating its files to" ?

wwmm avatar Nov 15 '25 02:11 wwmm

I'm on EndeavourOS/Arch and my settings were also not migrated. I only had output settings configured. My journal does have the messages indicating that easyeffects migrated ~/.config/easyeffects/<input,output,etc> to ~/.local/share/easyeffects. I pulled the easydefault.json file from my trash that was originally at ~/.config/easyeffects/output and put it back in it's original place. Easyeffects detected this and I seen it move the file once again, but no settings are pulled in.

I ended up going in easyeffects to Presets --> 'Import preset file', then selecting my easydefault.json from my old output folder. This loaded everything fine then and everything is back to normal.

kstorbakken avatar Nov 15 '25 19:11 kstorbakken

I'm on EndeavourOS/Arch and my settings were also not migrated. I only had output settings configured. My journal does have the messages indicating that easyeffects migrated ~/.config/easyeffects/<input,output,etc> to ~/.local/share/easyeffects. I pulled the easydefault.json file from my trash that was originally at ~/.config/easyeffects/output and put it back in it's original place. Easyeffects detected this and I seen it move the file once again, but no settings are pulled in.

I ended up going in easyeffects to Presets --> 'Import preset file', then selecting my easydefault.json from my old output folder. This loaded everything fine then and everything is back to normal.

Hum... The whole idea behind this was following the XDG desktop standard and put app generated files like presets inside ~/.local/share/easyeffects. If EasyEffects was able to create the new folders and tried to copy the files they should be there in the new location. And as result be shown in the presets window list. It was what happened when I tested this.

In the last EE update I added more error messages and I've changed the migration function in a way that it should abort the migration if an error happens. But as the instructions used for the file copy are almost the same as the one used to import files I am not sure if any of these error checks will actually reveal anything =/

wwmm avatar Nov 15 '25 19:11 wwmm

I'm on EndeavourOS/Arch and my settings were also not migrated. I only had output settings configured. My journal does have the messages indicating that easyeffects migrated ~/.config/easyeffects/<input,output,etc> to ~/.local/share/easyeffects. I pulled the easydefault.json file from my trash that was originally at ~/.config/easyeffects/output and put it back in it's original place. Easyeffects detected this and I seen it move the file once again, but no settings are pulled in. I ended up going in easyeffects to Presets --> 'Import preset file', then selecting my easydefault.json from my old output folder. This loaded everything fine then and everything is back to normal.

Hum... The whole idea behind this was following the XDG desktop standard and put app generated files like presets inside ~/.local/share/easyeffects. If EasyEffects was able to create the new folders and tried to copy the files they should be there in the new location. And as result be shown in the presets window list. It was what happened when I tested this.

In the last EE update I added more error messages and I've changed the migration function in a way that it should abort the migration if an error happens. But as the instructions used for the file copy are almost the same as the one used to import files I am not sure if any of these error checks will actually reveal anything =/

Oh, it's entirely possible I just missed my old default preset being in the preset list and didn't realise I needed to just click it to load the settings. My bad.

kstorbakken avatar Nov 15 '25 20:11 kstorbakken

Oh, it's entirely possible I just missed my old default preset being in the preset list and didn't realise I needed to just click it to load the settings. My bad.

No problems. But I think that for some people it is happening something way worse. The preset seems to be nowhere to be found.

wwmm avatar Nov 15 '25 20:11 wwmm

I'm on CachyOS and I lost all settings with the package upgrade too. I only had effects configured on my input chain. I tried looking in the old .config folder and while the folder structure was there, there are no json files to be found within, and there is nothing pertaining to easyeffects in the trash either. Oh well, I gotta redo my complex chain again, fantastic. Once I'm done I won't forget to backup the config directory elsewhere.

gbl08ma avatar Nov 22 '25 16:11 gbl08ma

I'm on CachyOS and I lost all settings with the package upgrade too. I only had effects configured on my input chain. I tried looking in the old .config folder and while the folder structure was there, there are no json files to be found within, and there is nothing pertaining to easyeffects in the trash either. Oh well, I gotta redo my complex chain again, fantastic. Once I'm done I won't forget to backup the config directory elsewhere.

Install dconf-editor. EasyEffects keys from the gtk branch are probably still there. Did you have preset files? Are they in your system trash? IS there anything inside ~/.local/share/easyeffects? Which version do you have installed? As it is not clear why presets migration is failing for some people the current version has more checks that abort it if something seems unusual.

wwmm avatar Nov 22 '25 16:11 wwmm

  • dconf-editor shows there are keys for easyeffects indeed, thanks. At least now I can read the settings I was using for each effect before, which makes recreating the chain easier.
  • I don't think I had any presets saved, and this appears to be corroborated by what I'm seeing in dconf
  • I have version 8.0.4 installed and previously I had version 7.2.5 installed

gbl08ma avatar Nov 22 '25 16:11 gbl08ma

I downgraded to version 7.2.5, which used the settings from dconf, saved my settings as a preset, and then upgraded back to 8.0.4. The preset I had just saved was migrated properly and I didn't have to recreate my effects chain after all. If easyeffects is only meant to migrate presets and not settings in general, I suppose it worked as intended after all, and I'm not strictly affected by this issue... but it's still a bad UX to "randomly" lose settings when one decides to update their system (not all distros show changelogs when updating packages, you know).

gbl08ma avatar Nov 22 '25 16:11 gbl08ma

but it's still a bad UX to "randomly" lose settings when one decides to update their system (not all distros show changelogs when updating packages, you know).

Some people may not believe it but I really tried to not do that. The thing is the difference between Gtk and Qt in settings management is so immense that the amount of work involved in migrating all the possible settings an easyeffects user can have would also be immense. And with the additional side effect of requiring gtk libraries to do the migrating. What makes no sense after so much work put in not using gtk.

wwmm avatar Nov 22 '25 16:11 wwmm

It is too late now, but the best solution would have been to release a 7.x update (on the gtk branch) a month or two before the 8.x upgrade, which would automatically export the active chains as e.g. a hidden preset (since the presets system seems independent from the dconf stuff) which could then be more easily imported by the 8.x branch as part of the migration.

gbl08ma avatar Nov 22 '25 17:11 gbl08ma