libpitaya icon indicating copy to clipboard operation
libpitaya copied to clipboard

Move event triggers to after the connection timer is reset

Open felippeduran opened this issue 1 year ago • 0 comments

Hey there,

We’re seeing a bad behaviour and we need your help to pinpoint the issue. The symptom is the following:

  1. The app goes to background and we force a disconnection on a connected pitaya instance.
  2. The app returns to foreground and we receive the disconnection callback
  3. 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 🤔.

felippeduran avatar Jun 09 '23 15:06 felippeduran