v0.2.6-pre.004

This commit is contained in:
2026-08-20 23:01:41 +02:00
parent 6eb4d71043
commit 76bfce17c1
22 changed files with 903 additions and 43 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/013-V0_2_6_WALLET_DESK_PLAN.md -->
<!-- version: 10 -->
<!-- version: 11 -->
# Plan `0.2.6` — Wallet Desk
@@ -1307,6 +1307,27 @@ refresh manuel + après opérations locales futures
À la fin de cette tranche, l'application sait lister et sélectionner un wallet sans révéler son identité protégée.
État matérialisé par `pre.004` :
```text
ksp-app-wallet-desk -> ksp-wallet-lib ajouté explicitement
effective_wallets_directory comme unique racine d'inventory
read_dir asynchrone non récursif
filename UTF-8 + suffixe exact .kspwallet
regular file uniquement ; symlink/non-file exclus
inspection via inspect_locked_wallet_file_v1
ligne invalide conservée avec CommandErrorDto sûr
WalletInventoryEntryDto / LockedWalletDto / WalletSelectionRequestDto
list_wallets / refresh_wallets / select_wallet
DataTable réel + refresh + sélection
fa-lock pour valid locked ; fa-triangle-exclamation pour invalid
selection revalidée côté Rust, filename single-component uniquement
root symlink désormais rejeté lors de la préparation Config
aucun Pubkey / alias / notes / password dans la projection locked
```
La sélection de `pre.004` reste une projection locked sans handle durable : le `WalletSession` Rust et les handles OWNER/VIEW arrivent en `pre.005`/`pre.006`. Un refresh invalide donc la sélection frontend pour éviter de conserver une projection potentiellement stale.
### `pre.005` — création Wallet et lifecycle de session Rust
Objectifs :