mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-20 21:48:47 +02:00
v0.4.3 : anti-buffering SSE (Cloudflare) - fin des derniers messages en retard au refresh
Le chat E2E d'app.ajean.link traverse Cloudflare (ajean.link, proxy orange) qui bufferise le flux SSE par lots : la queue du replay arrivait 20-30s apres le reste, de facon intermittente (surtout Safari iOS). Corrige par la technique standard : padding d'amorcage en tete de flux + padding sur caught_up (force le flush de la queue), Cache-Control: no-transform (interdit a Cloudflare de bufferiser/compresser), et heartbeat 15s->4s (borne le pire cas).
This commit is contained in:
1 parent
7d104e3213
commit
51c2c2d80f
7 files changed
+25
-8
No files matched your search
@@ -157,7 +157,9 @@ func handleE2EChat(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
w.Header().Set("Content-Type", "text/event-stream")
|
||||
w.Header().Set("Cache-Control", "no-cache")
|
||||
// no-transform : interdit à Cloudflare (proxy orange sur ajean.link) de
|
||||
// bufferiser/compresser le flux — sinon les événements arrivent en retard.
|
||||
w.Header().Set("Cache-Control", "no-cache, no-transform")
|
||||
w.Header().Set("X-Accel-Buffering", "no")
|
||||
flusher, _ := w.(http.Flusher)
|
||||
mu, stop := sseHeartbeat(w, flusher)
|
||||
|
||||
Reference in new issue
Block a user