disnake
disnake copied to clipboard
fix(gateway): reconnect on protocol errors
trafficstars
Summary
see this thread
WSMessage(type=<WSMsgType.ERROR: 258>, data=WebSocketError(<WSCloseCode.PROTOCOL_ERROR: 1002>, 'Received fragmented control frame'), extra=None)
This isn't reproducible[^1], but apparently happened at least once. Blame cloudflare, I guess(?).
Checklist
- [x] If code changes were made, then they have been tested
- [ ] I have updated the documentation to reflect the changes
- [x] I have formatted the code properly by running
pdm lint - [x] I have type-checked the code by running
pdm pyright
- [x] This PR fixes an issue
- [ ] This PR adds something new (e.g. new method or parameters)
- [ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
- [ ] This PR is not a code change (e.g. documentation, README, ...)
[^1]: ...unless you manually feed it one of these weird non-spec-compliant frames: bot._get_websocket(shard_id=0).socket._reader._protocol.data_received(bytes([0b00001001, 0]))