mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-23 23:18:13 +02:00
Correctifs 0.8 : saisie de la cle de pilotage, identites appairees perdues a la migration
Deux defauts trouves a l'usage : 1. Impossible de saisir la cle de pilotage dans l'UI : le chargement lance une dizaine d'appels /api/* en parallele, chaque 401 rouvrait la modale, et celle-ci vide son champ a l'ouverture. Les caracteres disparaissaient au fur et a mesure de la frappe. Une seule demande de cle est desormais partagee par tous les appels concurrents. Au passage, une modale ouverte n'est plus ecrasee en silence (sa promesse restait pendante pour toujours). 2. migrate_07 n'importait pas .authorized_users : les identites appairees pour le chat chiffre. Symptome trompeur — le tunnel s'etablit, la machine s'affiche en ligne, mais le portail refuse toute conversation. Importe et couvert par un test.
This commit is contained in:
1 parent
98ee293a49
commit
eac12112dd
5 files changed
+84
-4
No files matched your search
@@ -4,6 +4,7 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"sync"
|
||||
"testing"
|
||||
)
|
||||
|
||||
@@ -40,6 +41,7 @@ func fake07Home(t *testing.T) string {
|
||||
write("sysprompt.txt", "Tu es AJEAN.\n")
|
||||
write("conversation.json", `{"seq":42,"messages":[{"role":"user","content":"salut"}]}`)
|
||||
write("SKILLS/vieux-skill/SKILL.md", "# un skill d'avant\n")
|
||||
write(".authorized_users", "AABBCCDDEEFF00112233445566778899AABBCCDDEEFF001122334455667788AA\n")
|
||||
return home
|
||||
}
|
||||
|
||||
@@ -101,6 +103,14 @@ func TestMigration07(t *testing.T) {
|
||||
if conv.Seq != 42 {
|
||||
t.Errorf("conversation perdue (seq %d)", conv.Seq)
|
||||
}
|
||||
// Les identités appairées : les perdre casse le chat chiffré du portail
|
||||
// sans que rien ne le dise (le tunnel, lui, s'établit normalement).
|
||||
// La liste est mise en cache une fois par process (authOnce) : en production
|
||||
// c'est un process neuf qui sert après l'install, ici il faut le dire.
|
||||
authOnce, authSet = sync.Once{}, map[string]bool{}
|
||||
if !isAuthorizedUser("aabbccddeeff00112233445566778899aabbccddeeff001122334455667788aa") {
|
||||
t.Error("identité appairée perdue : le chat E2E du portail serait refusé")
|
||||
}
|
||||
|
||||
// Les fichiers consommés sont rangés, pas détruits.
|
||||
for _, archive := range []string{"config.env", "SKILLS"} {
|
||||
|
||||
Reference in new issue
Block a user