kwallet-query --write-password returns success but does not create the folder
or persist the secret, so saved host passwords were silently lost and share
enumeration failed with NT_STATUS_LOGON_FAILURE. Write/delete now go through
the kwalletd6 D-Bus API via qdbus6 (open/createFolder/writePassword). Reads
stay on kwallet-query (they work). Also drop smbclient -N (was forcing an
anonymous session) and silence KWallet read stderr. Adds qt6-tools dep.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Host manager (add/edit/remove Synology/SMB hosts) that stores non-secret
fields as JSON and writes passwords to KWallet via kwallet-query; general
page for default mount folder, SMB version, mount options and permissions.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
PlasmoidItem with a system-tray icon (active when a share is mounted) and a
popup grouping shares per host. ExpandableListItem rows toggle mount/unmount
and open the mounted folder; empty-state placeholder links to config.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Injection-safe sh -c wrapper (static script + positional args), KWallet
password flow into a 0600 cred file for mount, smbclient/-g share parsing,
findmnt mounted-state parsing, and the pkexec helper invocations.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Plasma/Applet package metadata (tray applet, id sk.houmeres.synologynas)
and the KConfigXT schema (hosts JSON, mount root, SMB version, options).
Passwords are never stored in config — they live in KWallet.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>