Bug 488573 - Better handling for cases where the plasmavaultrc or vault data files are missing for whatever reason
Summary: Better handling for cases where the plasmavaultrc or vault data files are mis...
Status: CONFIRMED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Vaults widget (show other bugs)
Version: 6.0.0
Platform: Other Linux
: NOR wishlist
Target Milestone: 1.0
Assignee: Ivan Čukić
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-06-16 09:37 UTC by ratijas
Modified: 2024-12-17 22:13 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ratijas 2024-06-16 09:37:02 UTC
SUMMARY

My ~/.config/plasmavaultrc file contains stale entries (maybe from a previous installation or manually deleted) for which the associated [~/.local/share/plasma-vault/*.enc] files are no longer present in the file system.

In the applet such entries are present but grayed out and can not be interacted with. There is no UI to remove them entirely.

There is also an [EncryptedDevices] section with all those *.enc set to true for some reason, but idk what that means:

[EncryptedDevices]
/home/ratijas/.local/share/plasma-vault/hi.enc=true
/home/ratijas/.local/share/plasma-vault/test.enc=true
/home/ratijas/.local/share/plasma-vault/yahaha.enc=true


STEPS TO REPRODUCE
1. Create a Vault.
2. Delete it from disk.

OBSERVED RESULT
The entry is grayed out, can not be removed. The mere existence of such "indestructible" meta information about the vault might be a security compromise in itself.

EXPECTED RESULT
Vaults without accessible backing files should be possible to remove from the list/config.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: git/master
KDE Frameworks Version: git/master
Qt Version: 6.7.1
Kernel Version: 6.9.4-arch1-1 (64-bit)
Graphics Platform: X11

ADDITIONAL INFORMATION
See also: https://bugs.kde.org/show_bug.cgi?id=441731
Comment 1 Nate Graham 2024-06-17 18:14:31 UTC
This is user error: if you're going to go poking around and manually delete the data files, you need to delete the references to them in the config file too. Anyone not enough of a technical expert to know that probably shouldn't be manually deleting stuff from ~/.local/share/!

...But that's not the world we live in, so it's probably reasonable to handle these cases. Another example came up today where a person failed to copy all the files over properly during a restore-from-backup.

So IMO these are the cases it would make sense to handle:

Data files are missing, but plasmavaultrc file exists:
- Show a message in the UI that the vault got broken because its data was deleted. Advise the user to recover it from backup, showing the past that Vaults expects to find it at. Also offer a "delete vault" button they can use to clear the entry and start over if the data files were removed intentionally, or no backup is available.

plasmavaultrc file is missing, but the data files exist:
- Recreate the data that would exist in plasmavaultrc based on the names of the data files