Details in ENG-9246.
Added a retry counter variable and a timeout.
- The effect hook has dependency on this variable
- It is increased after each retry
- Retry has to have interval to avoid infinite effect loop. Defaulted to 5s
Previously, effect wasn't triggered if socketState.connected was already false. Change false -> false doesn't trigger the hook, so socket wasn't recreated.