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:
nathaninline committed 2026-08-07 20:34:43 +02:00
1 parent 98ee293a49
commit eac12112dd
5 files changed
+84 -4

No files matched your search

+22
View File
@@ -26,6 +26,7 @@ import (
"os/exec"
"path/filepath"
"runtime"
"sort"
"strings"
)
@@ -263,6 +264,27 @@ func importLegacyState(home string) error {
}
}
}
// .authorized_users : les identités appairées pour le chat chiffré de bout en
// bout, une clé publique par ligne. L'oublier coûte cher et de façon peu
// lisible : le tunnel s'établit, la machine s'affiche en ligne, mais le
// portail refuse toute conversation chiffrée — il faut ré-appairer sans
// comprendre pourquoi. Vécu sur le serveur de test.
if v := read(".authorized_users"); v != "" {
var list []string
for _, line := range strings.Split(v, "\n") {
if h := strings.ToLower(strings.TrimSpace(line)); h != "" {
list = append(list, h)
}
}
if len(list) > 0 {
sort.Strings(list)
_ = putJSON(bkState, "authorized_users", list)
fmt.Printf(" %s %d identité(s) appairée(s)\n", green("✓"), len(list))
}
}
// .pair_codes n'est PAS repris : ces codes expirent au bout de 10 minutes,
// les reprendre n'aurait aucun sens.
// mcp.json : on ne garde que la map interne, la clé « mcpServers » disparaît.
if v := read("mcp.json"); v != "" {
var f struct {