43 lines
1.9 KiB
Markdown
43 lines
1.9 KiB
Markdown
<!-- file: deltas/0.2.6/pre.010.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta `0.2.6-pre.010` — rotations credentials OWNER / VIEW
|
|
|
|
## Objet
|
|
|
|
Cette tranche ajoute les rotations de credentials déjà supportées par `ksp-wallet-lib` à Wallet Desk, sans modifier le format `.kspwallet` ni les secrets Config.
|
|
|
|
## Changements
|
|
|
|
- ajoute `WalletPasswordRotationRequestDto`, request-only et sans `Debug`/`Clone` ;
|
|
- ajoute `rotate_owner_password` et `rotate_view_password` au bridge Tauri ;
|
|
- délègue à `WalletOwner::rotate_owner_password` et `WalletOwner::rotate_view_password` ;
|
|
- généralise le lifecycle `OwnerOperation` de `pre.009` pour les mutations OWNER privilégiées ;
|
|
- libère le mutex de session pendant Argon2/persistence ;
|
|
- conserve la session OWNER et la projection autorisée après succès ;
|
|
- restaure la session OWNER après une erreur non conflictuelle ;
|
|
- traite `wallet.state_conflict` par destruction du handle stale, réinspection Locked et réautorisation obligatoire ;
|
|
- refuse une rotation VIEW quand VIEW est désactivé ;
|
|
- ajoute double saisie de confirmation côté frontend uniquement ;
|
|
- vide les champs de rotation après succès, échec, Lock, Deselect ou changement de wallet ;
|
|
- indique explicitement que les secrets Config ne sont jamais mis à jour automatiquement ;
|
|
- ajoute les canaris contract/security dédiés.
|
|
|
|
## Documentation
|
|
|
|
- `docs/plans/013-V0_2_6_WALLET_DESK_PLAN.md` détaille le contrat `pre.010`.
|
|
- `ROADMAP.md`, `CHANGELOG.md` et `docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md` restent inchangés dans cette tranche.
|
|
|
|
## Validation opérateur attendue
|
|
|
|
```bash
|
|
cargo fmt --all
|
|
python3 scripts/audit_rust_workspace_rules.py
|
|
cargo check --workspace
|
|
cargo clippy --workspace --all-targets
|
|
cargo test -p ksp-app-wallet-desk
|
|
cargo test --workspace
|
|
```
|
|
|
|
Puis `cargo tauri dev` pour vérifier les rotations réelles OWNER/VIEW, la conservation de la Pubkey et le comportement des anciens/nouveaux passwords.
|