diff options
| author | Přemysl Eric Janouch <p@janouch.name> | 2025-11-03 17:52:12 +0100 | 
|---|---|---|
| committer | Přemysl Eric Janouch <p@janouch.name> | 2025-11-03 17:58:08 +0100 | 
| commit | 7d90142f0ff4ed1e1a16dafdd2058d86c060374e (patch) | |
| tree | dd6397c16b8a615437d336f361385859fdbef61e | |
| parent | 71e1a744c5521e54da333c78802cf5c57f4598db (diff) | |
| download | xK-7d90142f0ff4ed1e1a16dafdd2058d86c060374e.tar.gz xK-7d90142f0ff4ed1e1a16dafdd2058d86c060374e.tar.xz xK-7d90142f0ff4ed1e1a16dafdd2058d86c060374e.zip  | |
xP: fix alternative browsers on iOS
As a rule, they use the same stupid and broken WebKit.
| -rw-r--r-- | xP/xP.go | 8 | 
1 files changed, 5 insertions, 3 deletions
@@ -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  	}  | 
