Safari/iOS 26 WebSocket Problems???
# Bug Report: Safari/iOS 26 – WebSocket Upgrade Fails with Open-WebUI
## Summary
Since upgrading to iOS 26, Safari consistently fails to connect to Open-WebUI
through a Caddy reverse proxy. The error displayed in Safari is:
> "The String did not match the expected pattern"
Other browsers (Firefox ESR on Linux, Windows, macOS, and Firefox on iOS) do not
exhibit this issue. This strongly suggests a Safari/WebKit regression.
---
## Environment
- **Server OS**: Debian (latest stable)
- **Reverse Proxy**: Caddy (from Debian repository)
- **Backend**: Open-WebUI (running via Uvicorn)
- **TLS/ALPN**: `h3 h2` (HTTP/3 and HTTP/2 enabled, HTTP/1.1 disabled for HTTPS)
- **Safari**: iOS 26 (problematic)
- **Other Browsers**: Firefox ESR (Linux/macOS/Windows) → works fine
Firefox on iOS → works fine so far
---
## Expected Behavior
Safari should correctly upgrade the connection to WebSocket when connecting
to Open-WebUI (via `/ws/socket.io/...`).
---
## Actual Behavior
Safari/iOS 26 attempts a WebSocket upgrade, but the server rejects it with
`400 Bad Request`. Safari then shows the error
*"The String did not match the expected pattern"*.
---
## Snippets from journalctl (possibly related)
The following entries appear whenever Safari/iOS 26 attempts a connection:
```
Sep 20 22:13:58 coyote open-webui[3959566]: Unsupported upgrade request.
Sep 20 22:13:52 coyote open-webui[3959566]: 2025-09-20 22:13:52.816 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 2003:xyz… - "CONNECT /ws/socket.io/?EIO=4&transport=websocket HTTP/1.1" 400
```
This indicates:
- Safari sends an **HTTP/1.1 CONNECT request** to upgrade to WebSocket.
- Open-WebUI/Uvicorn rejects it with `400 Unsupported upgrade request`.
- Other clients successfully perform the WebSocket handshake through the same
Caddy reverse proxy configuration.
---
## Notes
- The issue **only occurs with Safari/iOS 26**.
- Clearing Safari cache/data does **not** resolve the issue.
- Restarting the server or reverse proxy has **no effect**.
- Firefox on the same iOS device does not exhibit the problem, suggesting
a Safari/WebKit-specific bug.
---
## Conclusion
There appears to be a regression in Safari/iOS 26 where the WebSocket upgrade
request is malformed or incompatible with standard server implementations
(Open-WebUI/Uvicorn). This leads to connection failures not reproducible
with other browsers or clients.
[Edited by Moderator]
iPhone 16, iOS 26