pub async fn keychain_fallback_unlock(
passphrase: String,
keychain: State<'_, KeychainHandle>,
) -> Result<(), AppError>Expand description
Unlock the keychain fallback (FileBackend) with a user-supplied passphrase.
Called from the KeychainFallbackPrompt UI component when the OS keychain
is unavailable and the app has fallen back to the encrypted-file backend.
The passphrase is forwarded to KeychainBackend::unlock. For backends
that do not need a passphrase (e.g. KeyringBackend) this is a no-op that
returns Ok(()). Full FileBackend re-key logic is wired here; the trait
method default handles all other backends transparently.
ยงTODO
Wire keychain_dir + passphrase back into a live FileBackend once the
app emits KeychainFallbackRequired at startup (task 19+). For now this
command delegates to the generic unlock trait method so the frontend
pathway is exercised end-to-end without requiring a complete startup rework.