WebSocket connection instantly closes (FIN) on iPadOS 26 in PWA (Local HTTP/WS)

I am maintaining a PWA that utilizes WebSockets. In this app, after the web page is loaded from the server, JavaScript establishes a WebSocket connection.

Because the app connects to a completely local server on a managed local network, we use http:// and ws:// (non-secure).

The Issue: The app worked perfectly from older iOS versions up to iPadOS 18. However, during testing on iPadOS 26, we encountered an issue where the WebSocket connects successfully but is disconnected by the iPad approximately one second later.

According to our packet captures, the iPad is sending a FIN packet to initiate the teardown.

Additional Context: What makes this particularly confusing is that we have another server hosting the exact same PWA where the WebSocket connection stays stable even on iPadOS 26. This suggests it might not be a universal OS bug, but perhaps related to specific network conditions or a new security policy.

Has anyone experienced similar behavior on iPadOS 26?

Could this be a bug, or is there a new security restriction regarding non-secure WebSocket (ws://) connections in local networks?

Are there any known changes in WebKit/Safari for iPadOS 26 that might cause the OS to send a FIN packet immediately after a handshake?

I would appreciate any insights or suggestions on what might be causing this.

Our engineering teams need to investigate this issue, as resolution may involve changes to Apple's software. Please file a bug report, include a small Xcode project and some directions that can be used to reproduce the problem, and post the Feedback number here once you do. If you post the Feedback number here I'll check the status next time I do a sweep of forums posts where I've suggested bug reports.

Bug Reporting: How and Why? has tips on creating your bug report.

Additional Information:

iPhoneSE(Generation unknown - details from client) running iOS 26.0.1: The WebSocket disconnection issue did not occur. Any iPad running iPadOS 26.0.1: I wanted to test this, but I couldn't perform the verification as I didn't have a corresponding device on hand.

iPad(A16) running iPadOS 26.2: When accessing directly via the Chrome browser, the WebSocket remained stable and did not disconnect. However, the issue was reproducible when using the PWA version (installed via Chrome). (Does the PWA use the Safari/WebKit engine internally even when installed through Chrome?)

Additionally, I found logs corresponding to the time of the occurrence under Settings > Privacy & Security > Analytics & Improvements > Analytics Data. I am attaching those files to this post for reference.

More Additional Information: Setting HTTP Proxy to "Auto" with empty URL resolves the issue

I have found additional information regarding this issue.

In the environment where the issue occurs (iPad with A16 Bionic, iPadOS 26.2), I applied the following Wi-Fi setting:

HTTP Proxy: Auto

URL: (Left blank)

After applying this change, the iPad stopped sending RST packets, and the WebSocket connection became stable.

Does this suggest that the issue might be related to the internal logic that determines whether a destination is on the local network or not? It seems that by setting the proxy to "Auto" (even with an empty URL), the OS changes how it handles the connection establishment or its filtering logic, which somehow prevents the unexpected RST packets.

Has anyone else observed similar behavior where proxy configuration affects WebSocket stability on iPadOS?

WebSocket connection instantly closes (FIN) on iPadOS 26 in PWA (Local HTTP/WS)
 
 
Q