Files
khadhroony-solana-project/deltas/0.1.4/pre.015-fix.001.md

3.6 KiB

Delta 0.1.4-pre.015-fix.001 — clarification document/runtime Logging et Clippy

Statut

Correctif de 0.1.4-pre.015 livré pour validation locale.

La persistence typée de pre.015 fonctionne : création/clonage/renommage/suppression de profils, multi-sinks, sauvegarde atomique et refus d'un candidat invalide ont été exercés. Deux points nécessitent néanmoins un correctif avant validation de la tranche :

  • cargo clippy --workspace --all-targets signale un collapsible_if dans le test public de ksp-config-lib ;
  • l'interface peut laisser croire que Recharger applique au runtime actif une modification persistée, alors que pre.015 ne fait volontairement aucun hot reload.

Cause du comportement console

console.enabled=false est bien persisté dans std.logging.json, mais le subscriber tracing global a déjà été construit au démarrage du processus. En pre.015, ni Sauvegarder ni le rechargement du brouillon ne passent par ksp_logging_lib::reinitialize().

Par conséquent :

  1. la sauvegarde modifie la source persistée ;
  2. Recharger le document relit cette source et resynchronise le brouillon ;
  3. le runtime Logging du processus courant reste inchangé ;
  4. un redémarrage de l'application applique la nouvelle source ;
  5. le hot reload sans redémarrage reste la responsabilité de pre.016.

Les lignes émises par Cargo, Tauri CLI et Vite avant/pendant cargo tauri dev ne sont pas des événements du runtime Logging KSP et ne sont jamais contrôlées par console.enabled.

Modifications

Clippy

  • correction du collapsible_if dans crates/ksp-config-lib/tests/public_api.rs avec une chaîne if let ... && let ... compatible Rust 2024 ;
  • aucun affaiblissement du test public LoggingFileConfig::set_ansi().

Config Desk

  • renommage du bouton Logging Recharger en Recharger le document ;
  • ajout d'un avertissement permanent distinguant clairement la source persistée du subscriber actif ;
  • après sauvegarde, le rapport indique explicitement document persisté · runtime actif inchangé ;
  • après rechargement, le statut précise que seul le brouillon est resynchronisé avec la source ;
  • le modal d'abandon d'un brouillon sale précise lui aussi qu'il ne recharge pas le runtime.

Documentation

  • README et USAGE explicitent la frontière document persisté / runtime actif ;
  • USAGE rappelle que les sorties Cargo/Tauri/Vite restent visibles même lorsque la console KSP est désactivée ;
  • plan 0.1.4 complète pre.015 avec cette distinction et conserve pre.016 comme propriétaire du hot reload.

Version technique

0.1.4-pre.15.fix.1

Validation attendue

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 tauri dev -c crates/ksp-app-config-desk/tauri.conf.json

Puis :

  1. dans Logging, décocher Console / Enabled pour le profil par défaut ;
  2. sauvegarder puis Recharger le document : la case doit rester décochée, mais les logs applicatifs du processus courant peuvent continuer car le runtime n'a pas été reconfiguré ;
  3. arrêter complètement l'application puis relancer cargo tauri dev -c crates/ksp-app-config-desk/tauri.conf.json ;
  4. distinguer les messages Cargo/Tauri/Vite des événements KSP : avec console.enabled=false, aucune nouvelle ligne applicative horodatée ksp-app-config-desk... ne doit être routée vers la console par le runtime KSP ;
  5. réactiver ensuite la console dans la source si nécessaire pour poursuivre les validations pre.015 avant pre.016.