Currently, I have bundled 'Simple Backup' and 'Rich Markdown' as default plugins. And initial backup path has been set to profileDir/testing-backup. For example, in my case it's, /home/username/.config/joplin-desktop/
Ideally, if this directory doesn't exist, it should create one, but I was getting Error: EACCES: permission denied, mkdir error, but it seems that problem exists on my system.
After successfully opening the app, do try out plugins' features to test it out. For example, try putting ==highlight== in the markdown editor.
Options to use AppImage
1. Normal
Open it normally, then it will use .config/joplin-desktop directory for profile.
But if you already have these plugins installed, it may be difficult to tell if AppImage is working or not,
2. Using --profile (Recommended)
Open it using --profile. Example ./Joplin-2.8.8.AppImage --profile /path/to/custom/profile/folder
I was not sure about AppImage's 'special directories feature' as Daeraxa suggested it may become a bit messy, so I didn't include it.
Thanks to @Daeraxa for providing all this information.
Ohhh, so starting as root broke Joplin but did allow the app to create a folder, problem is it is creating it at /testing-backup and not within the profile dir within the user home, hence why it needs root. I couldn't work out why I wasn't seeing the original error.
After looking at the code, I think the issue here is that when running mkdir we don't have profileDir set, so it is returning empty string here. And hence we end up creating /testing-backup.
I also looked at the 'Simple backup plugin' code and it seems that we can also provide relative path, and internally it will attach it to profile dir.
Though, we still need to create a folder for it in order to avoid the pop-up.
Edit: I got it working and will update the AppImage soon.
You mean the app creates the backup dir? But shouldn't that be the plugin that does this? (And if it doesn't maybe we can create a pull request to address this)
Yes. The app creates the backup dir. Ideally, the plugin should create it, but currently it doesn't. I thought, as you said on discord, we wanted to configure the plugin without having to modify it. Maybe I took it the wrong way.
To me that would mean that Joplin could set the path in the plugin from Joplin or configure other settings it already has but the ability to create a dir from a path that doesn't exist is something the plugin can't do. Therefore if it is a requirement it should be part of the plugin's code rather than Joplin's.
I guess the current plugin logic is to select an existing directory, so the plugin doesn't attempt to create it. It still feels like it should create it, for example if the dir gets deleted afterwards.
But in any case, any such logic should be part of the plugin, which means creating a PR there. The only thing we should set on app side are the plugin settings.