2.6 KiB
Delta 0.1.4-pre.012-fix.001 — confirmation Bootstrap des suppressions .env
Statut
Correctif de pre.012 livré pour validation locale.
La validation utilisateur de pre.012 confirme déjà fmt, check, clippy, les 34 tests Config Desk, les 87 tests Config, les cinq audits ownership et les 12 tests d'API publique. Les mutations .env create/update/remove fonctionnent et les valeurs Secret restent redacted. Le défaut corrigé ici est uniquement l'emploi d'un dialogue navigateur natif window.confirm() lors d'une suppression.
Correctif
- remplacement de
window.confirm()par un modal Bootstrap intégré àmain.html; - le modal affiche uniquement le nom de la variable ciblée et rappelle que l'environnement process hérité n'est pas modifié ;
- Annuler, fermeture du modal ou
Escannulent la suppression ; - Supprimer ferme le modal puis déclenche le flux existant
remove_environment_value; - les contrôles de mutation sont désactivés pendant la confirmation afin d'éviter plusieurs confirmations concurrentes ;
- ouverture et réponse du modal sont journalisées en
debugsans valeur.env; - ajout de la règle normative
KSP-APP-032: les interfaces desk KSP utilisent des modals Bootstrap pour les confirmations destructives/privilégiées au lieu dewindow.alert/window.confirm/window.prompt; - README, USAGE et plan
0.1.4alignés.
Sécurité
Le correctif ne change ni l'ownership Config ni le payload IPC : aucune valeur .env supplémentaire n'est projetée, journalisée ou préchargée. La suppression reste exclusivement réalisée par ConfigManagement::remove_dotenv_value().
Validation fonctionnelle restante de pre.012
Après validation de ce fix, le seul scénario fonctionnel encore non observé dans les logs fournis est le shadowing réel process > .env, car le dernier lancement rapporte process_count=0.
Lancer par exemple :
KSP_LOGS_DIRECTORY=logs-process-test \
cargo tauri dev -c crates/ksp-app-config-desk/tauri.conf.json
Puis modifier KSP_LOGS_DIRECTORY depuis l'UI. Résultat attendu :
source_changed = true
effective_changed = false
shadowed_by_process_environment = true
reload_required = false
Version technique
workspace.package.version = "0.1.4-pre.12.fix.1"
Validation locale demandée
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