v0.2.6-pre.011
This commit is contained in:
56
deltas/0.2.6/pre.011.md
Normal file
56
deltas/0.2.6/pre.011.md
Normal file
@@ -0,0 +1,56 @@
|
||||
<!-- file: deltas/0.2.6/pre.011.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta `0.2.6-pre.011` — strong VIEW disable/recreate
|
||||
|
||||
## Objet
|
||||
|
||||
Exposer dans Wallet Desk l'administration forte de la capability VIEW déjà fournie par `ksp-wallet-lib` : suppression forte de VIEW et recréation avec une nouvelle autorité, exclusivement depuis une session OWNER.
|
||||
|
||||
## Changements
|
||||
|
||||
- `workspace.package.version` passe à `0.2.6-pre.11` ;
|
||||
- ajout de `disable_wallet_view` :
|
||||
- OWNER-only ;
|
||||
- délègue à `WalletOwner::disable_view` ;
|
||||
- retire le slot VIEW et rekey les metadata ;
|
||||
- conserve la session OWNER avec `view_enabled=false` ;
|
||||
- ajout de `recreate_wallet_view` :
|
||||
- OWNER-only ;
|
||||
- délègue à `WalletOwner::recreate_view` ;
|
||||
- génère une nouvelle metadata key, un nouveau slot VIEW et un nouveau credential ;
|
||||
- fonctionne depuis VIEW disabled ou enabled ;
|
||||
- conserve la session OWNER avec `view_enabled=true` ;
|
||||
- `OwnerOperationContext` distingue le `view_enabled` réservé avant mutation du `result_view_enabled` réinstallé après succès ;
|
||||
- ajout de `WalletViewSecurityStatusDto`, projection IPC minimale sans identité protégée ni secret ;
|
||||
- UI Security :
|
||||
- carte d'administration forte VIEW ;
|
||||
- modal Bootstrap pour disable ;
|
||||
- modal Bootstrap pour recreate ;
|
||||
- confirmation du nouveau password uniquement côté frontend ;
|
||||
- rafraîchissement immédiat du DataTable et de l'état `VIEW enabled/disabled` ;
|
||||
- `wallet.state_conflict` conserve la politique existante : purge du handle OWNER stale, réinspection Locked et réautorisation OWNER obligatoire ;
|
||||
- canaries contract/security étendus à la surface strong VIEW ;
|
||||
- `ROADMAP.md`, `CHANGELOG.md` et `docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md` restent inchangés.
|
||||
|
||||
## Sécurité
|
||||
|
||||
`disable_view` et `recreate_view` ne sont jamais accessibles depuis VIEW. Le nouveau password de recreate est converti en `ViewPassword` côté Rust et n'est ni projeté ni loggé. Les secrets Config restent inchangés.
|
||||
|
||||
La révocation forte porte sur l'état courant/futur : une copie historique déjà détenue reste explicitement hors garantie.
|
||||
|
||||
## Validation opérateur
|
||||
|
||||
```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
|
||||
|
||||
KSP_WALLETS_DIRECTORY=var/wallet-desk-pre011 \
|
||||
cargo tauri dev -c crates/ksp-app-wallet-desk/tauri.conf.json
|
||||
```
|
||||
|
||||
Runtime : OWNER -> strong disable -> Lock -> VIEW impossible ; OWNER -> strong recreate avec nouveau password -> Lock -> ancien VIEW refusé / nouveau VIEW accepté ; vérifier Pubkey, alias, notes et OWNER inchangés.
|
||||
Reference in New Issue
Block a user