mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-15 11:19:07 +02:00
- 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.
24 lines
1.2 KiB
Go
24 lines
1.2 KiB
Go
package jean
|
|
|
|
import "testing"
|
|
|
|
// TestPresetFingerprintIgnoresCosmetics vérifie que la détection du preset actif
|
|
// ne dépend QUE de la config effective (ensemble KEY=VALUE), pas de la mise en
|
|
// forme : ordre des lignes, commentaires (dont `# NAME=`), lignes vides, `export`,
|
|
// espaces, ni des clés « appareil » (preservedKeys) réappliquées par SwitchToPreset.
|
|
// C'est la régression « aucun preset en surbrillance après un reformatage de
|
|
// config.env » (toggle mémoire/internet, réordonnancement…).
|
|
func TestPresetFingerprintIgnoresCosmetics(t *testing.T) {
|
|
base := []byte("# NAME=Mon preset\nMODEL=foo.gguf\nCTX=4096\nNGL=999\n")
|
|
// Même config effective, présentée autrement.
|
|
variant := []byte("export NGL=999\nMEM_MODE=off\n\nCTX=4096\n# un commentaire\nMODEL=foo.gguf\n")
|
|
if presetFingerprint(base) != presetFingerprint(variant) {
|
|
t.Fatal("empreintes différentes alors que la config effective est identique")
|
|
}
|
|
// Un vrai changement de valeur doit, lui, produire une empreinte différente.
|
|
changed := []byte("MODEL=foo.gguf\nCTX=8192\nNGL=999\n")
|
|
if presetFingerprint(base) == presetFingerprint(changed) {
|
|
t.Fatal("empreintes identiques alors que CTX diffère")
|
|
}
|
|
}
|