74 lines
3.6 KiB
Markdown
74 lines
3.6 KiB
Markdown
<!-- file: deltas/0.1.4/pre.015-fix.001.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# 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
|
|
|
|
```text
|
|
0.1.4-pre.15.fix.1
|
|
```
|
|
|
|
## Validation attendue
|
|
|
|
```bash
|
|
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`.
|