Files
khadhroony-solana-project/deltas/0.1.4/pre.018.md
2026-08-16 20:15:58 +02:00

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 :

  • Managed contient le profil résolu et les LoggingSettings ;
  • Fallback contient 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-view pour 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 build et check ;
  • présence du registre shell et dispatch d'éditeur spécialisé ;
  • absence de window.alert, window.confirm, window.prompt ;
  • absence de localStorage / sessionStorage dans le reveal Secret ;
  • centralisation de tous les #[tauri::command] dans tauri.rs ;
  • présence de ksp-logging-lib + tauri-plugin-tracing et absence de tauri-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 :

  1. Documents -> sélectionner cfg.std.logging ;
  2. vérifier Ouvrir l'éditeur Logging ;
  3. cliquer et vérifier l'activation de la vue Logging ;
  4. revenir à Documents et confirmer que diagnostics/source restent inchangés ;
  5. 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.