Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🐛 WebSocket connection does not detect link failures #15

Open
penguineer opened this issue Oct 2, 2022 · 0 comments
Open

🐛 WebSocket connection does not detect link failures #15

penguineer opened this issue Oct 2, 2022 · 0 comments
Labels
bug Something isn't working help wanted Extra attention is needed
Milestone

Comments

@penguineer
Copy link
Owner

The WebSocket connection to receive notifications does not always detect disconnects from the server.

To reproduce:

  • Initiate a connection
  • Make sure it is working by creating events on the reMarkable tablet
  • Not let the machine with Rabbarkable running sleep for > 5 minutes
  • Bring the machine back up

Expectation:

  • NotificationClient will get a call on onClosed
  • Heartbeat processing will detect an invalid connection

What actually happens:

  • The connection is recognized as being valid
  • Heartbeats are being sent without error
  • Notifications are no longer received

For a production environment sleep mode is a very unlikely scenario, but I am not sure how this behavior also applies to other connection errors.

@penguineer penguineer added bug Something isn't working help wanted Extra attention is needed labels Oct 2, 2022
@penguineer penguineer added this to the Release 1.0 milestone Oct 2, 2022
penguineer added a commit that referenced this issue Oct 2, 2022
On every heartbeat check (every 5s) also check if the connection is still fine.

Unfortunately the underlying WebSocket implementation does not detect all
link failures, and we can still end up with invalid connections.

See #15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant