From 7d90142f0ff4ed1e1a16dafdd2058d86c060374e Mon Sep 17 00:00:00 2001 From: Přemysl Eric Janouch Date: Mon, 3 Nov 2025 17:52:12 +0100 Subject: xP: fix alternative browsers on iOS As a rule, they use the same stupid and broken WebKit. --- xP/xP.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/xP/xP.go b/xP/xP.go index 7e0c386..9173afc 100644 --- a/xP/xP.go +++ b/xP/xP.go @@ -176,9 +176,11 @@ func handleWS(w http.ResponseWriter, r *http.Request) { } // AppleWebKit can be broken with compression. - if agent := r.UserAgent(); strings.Contains(agent, " Version/") && - (strings.HasPrefix(agent, "Mozilla/5.0 (Macintosh; ") || - strings.HasPrefix(agent, "Mozilla/5.0 (iPhone; ")) { + // It would be more reliable to check for 'ApplePaySession' in window in JS, + // and have us disable compression based on a query parameter. + if agent := r.UserAgent(); (strings.Contains(agent, " Version/") && + strings.HasPrefix(agent, "Mozilla/5.0 (Macintosh; ")) || + strings.HasPrefix(agent, "Mozilla/5.0 (iPhone; ") { opts.CompressionMode = websocket.CompressionDisabled } -- cgit v1.2.3-70-g09d2