Manjaro with all KDE software built from source.
I recently lost the ability to access my vault using the Vaults GUI. Trying to mount the vault resulted in Dolphin opening with the path to the mountpoint, but the vault was not mounted on top of it; the mountpoint was just an empty folder. No error was printed in the GUI.
plasmavaultrc contained a bit more information:
lastError=Configured backend does not exist: (code: 2)
Still not very helpful. So I tried to mount it manually, without using plasma-vault:
Deriving encryption key (this can take some time)...done
Mounting filesystem. To unmount, call:
$ cryfs-unmount "/home/nate/Vaults/XXXXXXXXXXXXX/"
fuse: device not found, try 'modprobe fuse' first
Sure enough, running `sudo modprobe fuse` fixed the problem and now I can mount it using the CLI or the plasma-vault GUI again.
The software should detect this condition and try to fix it automatically, or else present the full error log to the user so they can try to fix it or at least google it. Otherwise the user is left with the impression that their private data has been lost. Personally speaking, this vault contains my budgetary and financial data and all my passwords. If I was a regular user with no knowledge of how the system worked and how to fix it, I would have been left with feelings of panic and rage and the desire to never again entrust my data to open-source software.
Broken setup is not something that can easily be detected (there are potentially more things than just modprobe fuse that could be missing).
I do agree about providing a log.
Thanks! Yeah even an error message display would be helpful, so people can try some self-service help.
Git commit 1e2988d7d3ca68f9ff00e576c634aff4fe5b8b32 by Ivan Čukić.
Committed on 17/03/2020 at 14:35.
Pushed by ivan into branch 'master'.
Show command output on unknown failure
If the error is unknown (all errors in encfs), show the 'details...' button
which shows the command line output to the user when activated.
Reviewers: #plasma, davidedmundson, ngraham, mart
Differential Revision: https://phabricator.kde.org/D28099
M +2 -0 .gitignore
M +2 -1 kded/engine/backends/cryfs/cryfsbackend.cpp
M +13 -1 kded/engine/commandresult.cpp
M +9 -4 kded/engine/commandresult.h
M +2 -1 kded/engine/fusebackend_p.cpp
M +35 -4 kded/ui/mountdialog.cpp
M +5 -0 kded/ui/mountdialog.h