90 lines
4.5 KiB
Markdown
90 lines
4.5 KiB
Markdown
<!-- file: deltas/0.2.6/pre.003-fix.001.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta `0.2.6-pre.003-fix.001` — corrections Config + visibilité Logging frontend
|
|
|
|
## Base requise
|
|
|
|
```text
|
|
0.2.6-pre.003 appliquée
|
|
workspace.package.version = 0.2.6-pre.3
|
|
```
|
|
|
|
La validation opérateur de `pre.003` a confirmé `cargo fmt --all`, l'audit structurel, `cargo check --workspace`, `cargo test -p ksp-app-wallet-desk` et le démarrage `cargo tauri dev`. Elle a également révélé un warning Clippy dans l'adapter Wallet, un test registry obsolète et une fixture Config Desk incomplète ; `cargo test -p ksp-config-lib` puis `cargo test --workspace` ne sont donc pas verts sur la livraison initiale.
|
|
|
|
## Type de livraison
|
|
|
|
```text
|
|
ksp-general-0.2.6-pre.003-fix.001.zip
|
|
```
|
|
|
|
Le correctif touche Rust, TypeScript et configuration runtime. Conformément à `VER-ID-007`/`VER-ID-010`, la version technique devient :
|
|
|
|
```text
|
|
workspace.package.version = 0.2.6-pre.3.fix.1
|
|
commit = v0.2.6-pre.003-fix.001
|
|
```
|
|
|
|
## Corrections de validation
|
|
|
|
Le warning Clippy `redundant_pattern_matching` de `ksp-config-lib/src/wallet.rs` est corrigé avec `validation.is_err()`.
|
|
|
|
Le canari registry historique n'affirme plus qu'aucun runtime composite n'existe : `cfg.composite.ksp-app-wallet-desk` est maintenant un document réellement enregistré et associé à `schema.composite`.
|
|
|
|
Les fixtures utilisées par Config Desk sont complétées avec `std.wallet.json` et `composite.ksp-app-wallet-desk.json`. Le test d'inventory vérifie désormais Logging, Transport, Wallet et le composite enregistré au lieu d'échouer sur un fichier fixture absent.
|
|
|
|
## Logging composite Wallet Desk
|
|
|
|
`cfg.composite.ksp-app-wallet-desk` référençait déjà le composant `logging`. Le correctif rend cette sélection explicite et spécifique à Wallet Desk :
|
|
|
|
```text
|
|
logging -> cfg.std.logging / wallet_desk_dev
|
|
```
|
|
|
|
Le profil `wallet_desk_dev` ajouté à `std.logging.json` conserve le niveau global KSP à `info`, mais ouvre `ksp-app-wallet-desk` à `trace`. La console est routée à `trace` uniquement pour ce target prefix et un fichier dédié `wallet-desk/ksp-app-wallet-desk.log` reçoit également les événements `trace`. Les profils `devnet`, `temporary` et `tests` du composite utilisent tous ce profil Logging.
|
|
|
|
Cette configuration est volontairement orientée développement de Wallet Desk afin de rendre immédiatement observables les actions frontend sans rendre tous les targets KSP globalement verbeux. Elle pourra être resserrée plus tard sans modifier le bridge.
|
|
|
|
## Instrumentation frontend
|
|
|
|
Le bridge existant `frontend -> emit_frontend_log -> ksp-logging-lib` est conservé. `main.ts` ajoute un listener de capture générique pour les contrôles interactifs :
|
|
|
|
```text
|
|
button
|
|
a
|
|
input / select / textarea
|
|
[role=button] / [role=tab]
|
|
[data-view]
|
|
[data-shell-action]
|
|
```
|
|
|
|
Chaque clic produit un événement `trace` `Frontend control clicked` avec uniquement des métadonnées techniques sûres : tag, id, type, rôle, état disabled, `data-view` et `data-shell-action`. Le texte et la valeur du contrôle ne sont pas sérialisés ; cela évite de créer plus tard une fuite de password ou d'autre donnée sensible lorsque les formulaires Wallet seront ajoutés. Les logs sémantiques spécifiques (`navigation activated`, actions shell, IPC) restent en complément.
|
|
|
|
## Dépendances
|
|
|
|
Aucune dépendance Cargo ou npm n'est ajoutée/modifiée. `package.json` et `tauri.conf.json` changent uniquement leur version applicative vers `0.2.6-pre.3.fix.1`. Aucune commande npm directe n'est requise.
|
|
|
|
## Validation opérateur requise
|
|
|
|
Après application :
|
|
|
|
```bash
|
|
cargo fmt --all
|
|
python3 scripts/audit_rust_workspace_rules.py
|
|
cargo check --workspace
|
|
cargo clippy --workspace --all-targets
|
|
cargo test -p ksp-config-lib
|
|
cargo test -p ksp-app-config-desk
|
|
cargo test -p ksp-app-wallet-desk
|
|
cargo test --workspace
|
|
KSP_WALLETS_DIRECTORY=var/wallet-desk-pre003 cargo tauri dev -c crates/ksp-app-wallet-desk/tauri.conf.json
|
|
```
|
|
|
|
Dans l'application, cliquer sur les boutons de navigation et les contrôles du shell doit produire des événements `TRACE` sous `ksp-app-wallet-desk.frontend.main` visibles dans la console et dans le fichier de log Wallet Desk du lancement. Aucun password/value de contrôle ne doit apparaître.
|
|
|
|
`cargo tauri build -c crates/ksp-app-wallet-desk/tauri.conf.json` reste exclu de ce fix et réservé à la toute dernière validation de `0.2.6`.
|
|
|
|
## Suite
|
|
|
|
Après validation de ce fix, `pre.004` peut brancher l'inventory réel `.kspwallet` sur la base Config/Logging désormais cohérente.
|