This PR ensures that if non-PhoenixException exceptions are raised when attempting to send the heartbeat, the socket will attempt to reconnect. This should fix one case where the socket is left in a "broken" state, where it stops scheduling reconnects and cannot be connected to manually.
As part of this PR, I also renamed any tests that were hitting a real backend as an _integration_test, since it is a true integration test against a backend, not a unit test that can rely on mocks. I can also go the other way, calling the new socket test a socket_unit_test.dart if that's preferred. I don't feel strongly, but I think it's important not to mix the two tests, as the integration tests are run on CI but harder to run locally.
Fixes #70.
This PR ensures that if non-
PhoenixException
exceptions are raised when attempting to send the heartbeat, the socket will attempt to reconnect. This should fix one case where the socket is left in a "broken" state, where it stops scheduling reconnects and cannot be connected to manually.As part of this PR, I also renamed any tests that were hitting a real backend as an
_integration_test
, since it is a true integration test against a backend, not a unit test that can rely on mocks. I can also go the other way, calling the new socket test asocket_unit_test.dart
if that's preferred. I don't feel strongly, but I think it's important not to mix the two tests, as the integration tests are run on CI but harder to run locally.