Presets did not get migrated
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
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.
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.
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...
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?
Essentially all this migration is doing is moving the presets from the
XDG_CONFIG_HOMEdirectory to theXDG_DATA_HOMEdirectory 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.
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.
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.
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.
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" ?
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.
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/outputand 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 =/
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/outputand 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.
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.
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.
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.
- 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
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).
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.
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.