You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The client-side WebSocket client has some minimal retry logic. However, I do not believe it properly handles re-establishing connections if the server closes the connection and/or there's a network issue that severs the connection.
We should implement behavior such that a connection is re-established when:
The server explicitly closes the connection
The connection appears alive but the other end has disappeared (usually due to network issues).
The first should be straightforward, but the second may involve a heartbeat pattern where the client sends a message every N seconds (30?) and if it doesn't receive a reply it closes and reopens the connection. As a potential reference, I know the phoenix js client implements the heartbeat pattern.
We should be able to test this by killing and restarting the API server with an open browser tab (something that may happen regularly in dev once #277 is in). There's probably chrome dev tools that can help with this as well.
The text was updated successfully, but these errors were encountered:
The client-side WebSocket client has some minimal retry logic. However, I do not believe it properly handles re-establishing connections if the server closes the connection and/or there's a network issue that severs the connection.
We should implement behavior such that a connection is re-established when:
The first should be straightforward, but the second may involve a heartbeat pattern where the client sends a message every N seconds (30?) and if it doesn't receive a reply it closes and reopens the connection. As a potential reference, I know the phoenix js client implements the heartbeat pattern.
We should be able to test this by killing and restarting the API server with an open browser tab (something that may happen regularly in dev once #277 is in). There's probably chrome dev tools that can help with this as well.
The text was updated successfully, but these errors were encountered: