From 2f1f40c604d39cb6866de013f46bd4be4dae777b Mon Sep 17 00:00:00 2001 From: nathaninline Date: Fri, 24 Jul 2026 17:29:50 +0200 Subject: [PATCH] =?UTF-8?q?v0.5.3=20:=20d=C3=A9tection=20du=20preset=20act?= =?UTF-8?q?if=20robuste=20+=20retouches=20UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Presets : la détection du preset actif compare désormais l'ENSEMBLE des KEY=VALUE effectifs (ordre, commentaires, lignes vides et clés appareil ignorés) au lieu d'un hash ligne à ligne. Fini le preset qui n'apparaît plus en surbrillance après un reformatage de config.env (toggle mémoire/internet…). Couvert par un test unitaire. - UI : toggles « Paramètres » du mode agent dans des cartes bordées ; champs de la modale MCP correctement espacés ; section MOTEUR sans contours colorés ; liens « mettre à jour » / « vérifier la version » sans soulignement. --- cmd/jean/resource_windows_amd64.syso | Bin 8340 -> 8340 bytes cmd/jean/resource_windows_arm64.syso | Bin 8340 -> 8340 bytes cmd/jean/versioninfo.json | 6 ++-- internal/jean/backend_presets.go | 39 +++++++++++++++++--------- internal/jean/backend_presets_test.go | 23 +++++++++++++++ internal/jean/run.go | 2 +- internal/jean/ui/index.html | 15 ++++++++-- internal/jean/ui/src/styles.css | 15 ++++++++-- 8 files changed, 76 insertions(+), 24 deletions(-) create mode 100644 internal/jean/backend_presets_test.go diff --git a/cmd/jean/resource_windows_amd64.syso b/cmd/jean/resource_windows_amd64.syso index 49a3bc40cf70da22a7588075ba0cceb7f5f677d6..a770c1bb43e1583f29a897778af563ae4b872248 100644 GIT binary patch delta 36 ncmbQ@IK^>;lnf^`11kdvFmG0t5oBUC-fSut%m}19<+&LFgY5>> delta 36 ncmbQ@IK^>;lnf^m11kdvFl|;lnf^`11kdvFmG0t5oBUC-fSut%m}19<+&LFgY5>> delta 36 ncmbQ@IK^>;lnf^m11kdvFl|
diff --git a/internal/jean/ui/src/styles.css b/internal/jean/ui/src/styles.css index 87d6148..873ee4a 100644 --- a/internal/jean/ui/src/styles.css +++ b/internal/jean/ui/src/styles.css @@ -278,15 +278,14 @@ button:disabled{opacity:.5;cursor:not-allowed} .lc-modes{display:flex;flex-direction:column;gap:8px} .lc-modes.busy{opacity:.5;pointer-events:none} .lc-mode{border:1px solid var(--border);border-radius:8px;padding:10px 12px;cursor:pointer;transition:border-color .12s,background .12s} -.lc-mode:hover{border-color:var(--accent)} -.lc-mode.installed{border-color:var(--accent)} +.lc-mode:hover{border-color:var(--dim)} .lc-mode-t{font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px} .lc-reco{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);border:1px solid var(--accent);border-radius:8px;padding:1px 6px} .lc-mode-d{font-size:11px;color:var(--dim);margin-top:3px} .lc-mode-state{font-size:11px;margin-top:7px;display:flex;align-items:center;gap:12px;flex-wrap:wrap} .lc-mode-go{color:var(--accent)} .lc-mode-active-tag{color:var(--accent);font-weight:600} -.lc-update-link{color:var(--dim);text-decoration:underline;cursor:pointer} +.lc-update-link{color:var(--dim);text-decoration:none;cursor:pointer} .lc-update-link:hover{color:var(--accent)} /* Choix du moteur dans l'éditeur de modèle (3 options : rapide/optimisé/perso) */ .be-opts{display:flex;flex-direction:column;gap:7px;margin:6px 0 8px} @@ -365,3 +364,13 @@ button:disabled{opacity:.5;cursor:not-allowed} .io-cap{color:var(--dim);font-size:11px;margin:0 0 3px} .io-input{flex:1;min-width:0;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px;font:inherit;font-size:12px} .io-group{margin-top:12px} + +/* Toggles de la sous-section « Paramètres » du mode agent : chacun dans sa + propre carte bordée et arrondie (comme les serveurs MCP), plus lisible. */ +#param-block .switchrow{border:1px solid var(--border);border-radius:8px;padding:9px 11px;background:var(--bg)} +#param-block .switchrow+.switchrow{margin-top:8px} + +/* Modale MCP (ajout/édition) : les champs des groupes stdio/http n'avaient aucun + espacement vertical (le conteneur n'est pas un flex à gap) → ils se touchaient. + On aligne leur rythme sur celui du reste du formulaire (.mform). */ +#mcp-stdio-fields,#mcp-http-fields{display:flex;flex-direction:column;gap:14px}