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-targetssignale uncollapsible_ifdans le test public deksp-config-lib;- l'interface peut laisser croire que Recharger applique au runtime actif une modification persistée, alors que
pre.015ne 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 :
- la sauvegarde modifie la source persistée ;
- Recharger le document relit cette source et resynchronise le brouillon ;
- le runtime Logging du processus courant reste inchangé ;
- un redémarrage de l'application applique la nouvelle source ;
- 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_ifdanscrates/ksp-config-lib/tests/public_api.rsavec une chaîneif 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.4complètepre.015avec cette distinction et conservepre.016comme 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 :
- dans Logging, décocher Console / Enabled pour le profil par défaut ;
- 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é ;
- arrêter complètement l'application puis relancer
cargo tauri dev -c crates/ksp-app-config-desk/tauri.conf.json; - distinguer les messages Cargo/Tauri/Vite des événements KSP : avec
console.enabled=false, aucune nouvelle ligne applicative horodatéeksp-app-config-desk...ne doit être routée vers la console par le runtime KSP ; - réactiver ensuite la console dans la source si nécessaire pour poursuivre les validations
pre.015avantpre.016.