4.1 KiB
Delta 0.1.4-pre.018 — robustesse, extensibilité et tests desktop
Base
0.1.4-pre.017 est validée : cargo fmt --all, cargo check --workspace et cargo clippy --workspace --all-targets sont propres ; 62 tests unitaires Config Desk, 88 tests Config, 37 tests unitaires Logging et tous les audits/tests d'intégration associés passent. Le scénario runtime montre également le routing TRACE backend puis frontend après hot reload.
Objectif
Durcir Config Desk avant la tranche de clôture : tester explicitement le comportement de démarrage sur source Logging invalide, matérialiser le registre d'éditeurs spécialisés prévu par le plan, et ajouter des audits desktop automatisés sur Tauri, le frontend, les secrets et les frontières d'ownership.
Changements
Bootstrap Logging testable avant installation
Le bootstrap sépare désormais la résolution d'un LoggingStartupPlan de l'installation du subscriber :
Managedcontient le profil résolu et lesLoggingSettings;Fallbackcontient le diagnostic sûr, l'erreur initiale et les settings transitoires.
L'installation runtime intervient seulement après cette décision. Un test peut donc fournir un source Logging invalide et vérifier la sélection du fallback sans installer un subscriber global dans le processus de tests.
Le fallback reste inchangé fonctionnellement : console stderr, niveau Info, aucun fichier et spans désactivés.
Registre shell / éditeurs spécialisés
Nouveau frontend/ts/shell_registry.ts :
- registre unique des cinq vues du shell ;
- activation générique des panels par
panelId; - registre séparé
file_id -> éditeur spécialisé; - premier adapter
cfg.std.logging -> logging; - événement
ksp:activate-viewpour demander une navigation sans coupler Documents à l'implémentation de Logging.
Le panneau Documents affiche Ouvrir l'éditeur Logging uniquement lorsqu'un adapter spécialisé existe pour le file_id sélectionné. Les documents inconnus du registre spécialisé restent inspectables et réparables via le shell générique.
Audits desktop
Deux nouveaux tests d'intégration Config Desk couvrent :
- contrat Tauri
splash/main, main initialement caché et commandes Vite explicites ; - scripts frontend
buildetcheck; - présence du registre shell et dispatch d'éditeur spécialisé ;
- absence de
window.alert,window.confirm,window.prompt; - absence de
localStorage/sessionStoragedans le reveal Secret ; - centralisation de tous les
#[tauri::command]danstauri.rs; - présence de
ksp-logging-lib+tauri-plugin-tracinget absence detauri-plugin-log.
Les audits Config ownership et Logging ownership existants restent les autorités workspace pour les frontières Config/tracing.
Frontend build
package.json ajoute :
npm run check
qui exécute tsc --noEmit && vite build.
Version technique
workspace.package.version = 0.1.4-pre.18
Validation attendue
Depuis la racine du workspace :
cargo fmt --all
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-app-config-desk
cargo test -p ksp-config-lib
cargo test -p ksp-logging-lib
Depuis crates/ksp-app-config-desk :
npm run check
Puis depuis la racine :
cargo tauri build -c crates/ksp-app-config-desk/tauri.conf.json
cargo tauri dev -c crates/ksp-app-config-desk/tauri.conf.json
Parcours fonctionnel minimal :
- Documents -> sélectionner
cfg.std.logging; - vérifier Ouvrir l'éditeur Logging ;
- cliquer et vérifier l'activation de la vue Logging ;
- revenir à Documents et confirmer que diagnostics/source restent inchangés ;
- vérifier le comportement Logging déjà validé (profil runtime, hot reload, Test Logging) après ce refactor de shell.
Suite
0.1.4-pre.019 est la tranche de clôture : validation workspace/build complète, matrice fonctionnelle finale, retour du target applicatif de debug vers info/warn, README/USAGE/TODO/changelog, nettoyage/archivage et préparation de rel.001 ainsi que du prompt de session suivant.