Open
Description
Currently, the Disconnected
event does not consistently fire across all disconnection paths. Specifically, when disconnection occurs through the DisconnectReceived
callback, the event is not triggered at all.
Moreover the disconnect event should be fired with a DisconnectReason, currently it passes the room instead.
Proposed Solution:
- Introduce a
DisconnectDelegate
that includes aDisconnectReason
. - Update the
Disconnected
event to use this new delegate. - Ensure that the
Disconnected
event fires with a reason when disconnection occurs via theDisconnectReceived
callback.
Looking at the enum for DisconnectReason I am not sure which one is the best in this case. I will make a PR using ClientInitiated, but this is arbitrary and can/should be revised as needed.