- Add resolveSecretsDeep() to recursively resolve secret placeholders
(env://, file://, encv1:) in any config field
- Refactor restic operations to resolve secrets once via resolveAndBuild()
- Refactor volume backend dispatcher to resolve secrets at mount time
- Remove redundant per-field resolveSecret() calls from SMB, WebDAV, SFTP backends
- Simplify notifications service by replacing switch-based decryption
- Update backend-compatibility to use deep resolution for credential comparison
This allows users to use secret references in any configuration field,
not just the designated sensitive fields.
* refactor(startup): ensure entities always use the latest configuration schema
* refactor: await config updates to avoid race condition on later mount
* refactor: use short ids to allow changing the name of volumes & repos
* refactor: address PR feedbacks
* fix: make short_id non null after initial population