disnake icon indicating copy to clipboard operation
disnake copied to clipboard

fix(gateway): reconnect on protocol errors

Open shiftinv opened this issue 1 year ago • 0 comments
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]))

shiftinv avatar Feb 23 '24 14:02 shiftinv