mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-22 06:28:11 +02:00
Conversation tenue par la façade : le Go lui remet ce qui lui arrive
Avec LOKI_CHAT=rust, la façade sert les routes du chat. Deux chemins arrivent pourtant au Go sans passer par elle — le tunnel du relais et sa redistribution /api/e2e/req — et liraient la conversation du Go, périmée, voire l'écriraient en base par-dessus celle de la façade. facade_chat.go : - routes du chat remises à la façade (après requireWebAuth), avec le jeton interne qui y tient lieu d'authentification, flux compris ; - /api/e2e/chat lit le flux de la façade et le rechiffre événement par événement (nombres repris tels quels) ; - les événements d'affichage nés ici (bascule du mode Code, critères) vont au journal de la façade (/internal/facade/v1/delta) ; - l'export lit la discussion enregistrée ; - le déverrouillage de la mémoire fait recharger la façade. L'outil d'exécution ne rend plus les critères : critNotify les pousse lui- même, d'où qu'il soit appelé. Sans LOKI_CHAT=rust, rien ne change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016tcGfJWefW5kUGoC2wL8cv
This commit is contained in:
10 files changed
+374
-52
No files matched your search
@@ -174,7 +174,13 @@ func handleE2EChat(w http.ResponseWriter, r *http.Request) {
|
||||
sealedEv := append(nonce, gcm.Seal(nil, nonce, b, nil)...)
|
||||
return []byte("data: " + base64.StdEncoding.EncodeToString(sealedEv) + "\n\n"), true
|
||||
}
|
||||
runChatStream(r.Context(), body, &sseStream{w: w, flusher: flusher, mu: mu, frame: frame})
|
||||
out := &sseStream{w: w, flusher: flusher, mu: mu, frame: frame}
|
||||
// Conversation tenue par la façade : c'est SON journal qu'on suit.
|
||||
if facadeChat() {
|
||||
facadeChatStream(r.Context(), plain, out)
|
||||
return
|
||||
}
|
||||
runChatStream(r.Context(), body, out)
|
||||
}
|
||||
|
||||
// handleE2EReq : proxy de CONTRÔLE chiffré de bout en bout. Même enveloppe que le
|
||||
|
||||
Reference in new issue
Block a user