5.4 KiB
Delta 0.2.6-pre.002 — crate Tauri et shell Wallet Desk
Base requise
0.2.6-pre.001-fix.002 appliquée
workspace.package.version = 0.2.6-pre.1
Les validations opérateur de pre.001 sont vertes : cargo fmt --all, audit structurel Python, cargo check --workspace et cargo clippy --workspace --all-targets.
Type de livraison
ksp-general-0.2.6-pre.002.zip
Cette tranche est technique : création de crate, Rust/Tauri, frontend et configuration de build. Elle incrémente donc workspace.package.version vers 0.2.6-pre.2.
Objet
Matérialiser la première application ksp-app-wallet-desk sans commencer les fonctionnalités Wallet métier prévues à partir de pre.003/pre.004.
Le delta fournit :
crate Rust mixte lib + bin
single-instance launcher
normalisation CWD debug workspace
bootstrap Config + Logging commun
fallback Logging borné
splash + main window
bridge frontend -> Rust -> ksp-logging-lib
DTO TS-RS foundation
ports Vite/HMR 1432/1433
Bootstrap
Font Awesome
DataTables Bootstrap 5 + Select
SimpleBar
resize-observer-polyfill
shell Dashboard/Wallets/Create-Import/Details/Security/Diagnostics
DataTable Wallet réelle mais volontairement vide en pre.002
capabilities core:default + tracing:default
CSP null comme Config Desk
Frontières conservées
pre.002 ne dépend pas encore de ksp-wallet-lib ni de ksp-onchain-transport-lib. La seule composition KSP active dans la nouvelle app est celle nécessaire au gabarit desktop :
ksp-app-wallet-desk
-> ksp-config-lib
-> ksp-core-lib
-> ksp-logging-lib
-> Tauri
Aucune logique .kspwallet, aucun inventory filesystem, aucun secret Wallet et aucun RPC ne sont simulés dans le frontend.
Frontend et npm
Le package.json reprend la baseline Config Desk :
@fltsci/tauri-plugin-tracing ^0.3
@fortawesome/fontawesome-free ^7.3
@tauri-apps/api ^2.11
bootstrap ^5.3
datatables.net-bs5 ^3.0
datatables.net-select-bs5 ^4.0
resize-observer-polyfill ^1.5
simplebar ^6.3
Les outils restent dans devDependencies. Aucun script check standalone n'est créé. Les scripts dev et build existent uniquement parce que Tauri les appelle via beforeDevCommand et beforeBuildCommand.
Lors de l'application de ce delta, l'installation initiale des packages se fait depuis la crate avec :
cd crates/ksp-app-wallet-desk
npm i -D
cd ../..
Le lockfile npm et node_modules restent non versionnés.
Dépendances auditées
Au 2026-08-20, les versions actuelles vérifiées incluent :
@tauri-apps/api 2.11.1
@tauri-apps/cli 2.11.4
@fortawesome/fontawesome-free 7.3.1
datatables.net-bs5 3.0.1
datatables.net-select-bs5 4.0.0
resize-observer-polyfill 1.5.1
simplebar 6.3.3
Les ranges du gabarit couvrent ces versions sans changement de génération.
Shell et logging
Le splash reprend les paramètres Config-owned existants :
KSP_DESK_SPLASH_MINIMUM_MS
KSP_DESK_SPLASH_FADE_MS
Le frontend instrumente :
chargement main/splash
navigation
mise à jour DOM des vues
initialisation DataTables
clics d'actions shell
IPC runtime status
ordres/animations splash
Les targets frontend sont whitelisted (frontend, main, splash) avant réémission via ksp-logging-lib.
Tests ajoutés
public API run()
contrat Tauri ports/windows/beforeDev/beforeBuild/CSP
baseline dependencies et absence de script npm check
présence DataTables/Select/SimpleBar/ResizeObserver/Font Awesome
capabilities initiales core + tracing seulement
absence window.alert/confirm/prompt/localStorage/sessionStorage
DTO CommandError sans context arbitraire
whitelist frontend logging
contrats splash
Fichiers principaux ajoutés
crates/ksp-app-wallet-desk/Cargo.toml
crates/ksp-app-wallet-desk/build.rs
crates/ksp-app-wallet-desk/capabilities/default.json
crates/ksp-app-wallet-desk/package.json
crates/ksp-app-wallet-desk/tauri.conf.json
crates/ksp-app-wallet-desk/tsconfig.json
crates/ksp-app-wallet-desk/vite.config.ts
crates/ksp-app-wallet-desk/src/**
crates/ksp-app-wallet-desk/frontend/**
crates/ksp-app-wallet-desk/tests/**
crates/ksp-app-wallet-desk/unit_tests/**
Les assets fonts/logo/splash/favicon sont repris du gabarit Config Desk.
Fichiers modifiés hors crate
Cargo.toml
ROADMAP.md
docs/000-README.md
docs/plans/013-V0_2_6_WALLET_DESK_PLAN.md
Version technique
workspace.package.version = 0.2.6-pre.2
commit = v0.2.6-pre.002
Aucun tag stable.
Validation opérateur requise
Après application :
cd crates/ksp-app-wallet-desk
npm i -D
cd ../..
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 tauri dev -c crates/ksp-app-wallet-desk/tauri.conf.json
Le parcours cargo tauri dev doit vérifier visuellement et dans les logs : splash, ouverture de la fenêtre principale, navigation des six vues, DataTable vide fonctionnelle, icônes Font Awesome, scrolling SimpleBar et bridge frontend Logging.
cargo tauri build -c crates/ksp-app-wallet-desk/tauri.conf.json n'est pas exécuté en pre.002 : il reste réservé à la toute dernière validation de la release conformément à KSP-APP-034.
Suite
pre.003 ajoute cfg.std.wallet, le composite Wallet Desk, wallets_directory global, wallets_subdirectory par profil et la préparation/création du répertoire effectif.