[web] restrict external heartbeat/server ping to websocket transport (#23830)

Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
GitOrigin-RevId: c03a78e2c05cd380b705bd14652060980682cb39
This commit is contained in:
Jakob Ackermann
2025-02-25 09:05:02 +00:00
committed by Copybot
co-authored by Alf Eaton
parent 4d857b7937
commit 8138c76c1d
2 changed files with 11 additions and 5 deletions
@@ -248,10 +248,13 @@ export class ConnectionManager extends EventTarget {
if (this.externalHeartbeatInterval) {
window.clearInterval(this.externalHeartbeatInterval)
}
this.externalHeartbeatInterval = window.setInterval(
() => this.sendExternalHeartbeat(),
15_000
)
if (this.socket.socket.transport?.name === 'websocket') {
// Do not enable external heartbeat on polling transports.
this.externalHeartbeatInterval = window.setInterval(
() => this.sendExternalHeartbeat(),
15_000
)
}
}
// Reset on success regardless of transport. We want to upgrade back to websocket on reconnect.
this.websocketFailureCount = 0