Seems like the channel leaving is triggering a loop to happen. I don't fully know how the code works, but looking at leave() in channel.dart has this code:
It looks like we're pushing the 'ok' event onto the leavePush, which has an onReply handler for 'ok' to call onClose, which pushes the 'ok' reply, etc.
I noticed this because I have logging set to Level.ALL and it just outputted thousands of log messages until eventually:
Seems like the channel leaving is triggering a loop to happen. I don't fully know how the code works, but looking at leave() in channel.dart has this code:
It looks like we're pushing the 'ok' event onto the leavePush, which has an onReply handler for 'ok' to call onClose, which pushes the 'ok' reply, etc.
I noticed this because I have logging set to Level.ALL and it just outputted thousands of log messages until eventually: