libpitaya
libpitaya copied to clipboard
Move event triggers to after the connection timer is reset
Hey there,
We’re seeing a bad behaviour and we need your help to pinpoint the issue. The symptom is the following:
- The app goes to background and we force a disconnection on a connected pitaya instance.
- The app returns to foreground and we receive the disconnection callback
- We try to call connect again, but it fails with “connect timeout”
Notes:
- We have connectivity at all times
- The flow surprisingly works if we delay the “connect” asynchronously for 50ms
All of this leads me to believe that the issue might be related to a bad clean up/reset of the connection timer, and investigating the code, I found several places where we actually trigger the disconnection events before we reset it (see the changes in this PR). So I wonder if it might get triggered and interrupt the newly started connection before being reset.
Also, I see that when initializing the timer, we don't reset its state here, but I couldn't fully track if this is called when we initialize the connection flow. I think it's called only during the static initialization flow, so this might not be related to the issue 🤔.