NWWebSocket has a bug where certain POSIX errors (like ENODATA / error 96) aren't recognized as disconnection events. This causes a reconnection failure loop where:
- Connection dies but NWConnection.state stays .ready (zombie state)
- connect() sees .ready and reuses the dead connection
- listen() fails immediately with the same error
- Loop repeats indefinitely - reconnection never succeeds
Here is the fix I've sumitted upstream, but it still needs to be reviewed/merged
pusher/NWWebSocket#63
Would love any feedback anyone has if I'm misunderstanding the issue!
Affected version: PusherSwift 10.1.9 (NWWebSocket 0.5.9)
NWWebSocket has a bug where certain POSIX errors (like ENODATA / error 96) aren't recognized as disconnection events. This causes a reconnection failure loop where:
Here is the fix I've sumitted upstream, but it still needs to be reviewed/merged
pusher/NWWebSocket#63
Would love any feedback anyone has if I'm misunderstanding the issue!
Affected version: PusherSwift 10.1.9 (NWWebSocket 0.5.9)