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

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 Esc annulent 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 debug sans 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 de window.alert / window.confirm / window.prompt ;
  • README, USAGE et plan 0.1.4 aligné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