Skip to content

Commit 3676da5

Browse files
authored
fix(client): keep ping on WS constructor error (vitejs#20512)
1 parent c12a4a7 commit 3676da5

File tree

1 file changed

+22
-18
lines changed

1 file changed

+22
-18
lines changed

packages/vite/src/client/client.ts

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -441,24 +441,28 @@ async function waitForSuccessfulPingInternal(
441441
}
442442

443443
async function ping() {
444-
const socket = new WebSocket(socketUrl, 'vite-ping')
445-
return new Promise<boolean>((resolve) => {
446-
function onOpen() {
447-
resolve(true)
448-
close()
449-
}
450-
function onError() {
451-
resolve(false)
452-
close()
453-
}
454-
function close() {
455-
socket.removeEventListener('open', onOpen)
456-
socket.removeEventListener('error', onError)
457-
socket.close()
458-
}
459-
socket.addEventListener('open', onOpen)
460-
socket.addEventListener('error', onError)
461-
})
444+
try {
445+
const socket = new WebSocket(socketUrl, 'vite-ping')
446+
return new Promise<boolean>((resolve) => {
447+
function onOpen() {
448+
resolve(true)
449+
close()
450+
}
451+
function onError() {
452+
resolve(false)
453+
close()
454+
}
455+
function close() {
456+
socket.removeEventListener('open', onOpen)
457+
socket.removeEventListener('error', onError)
458+
socket.close()
459+
}
460+
socket.addEventListener('open', onOpen)
461+
socket.addEventListener('error', onError)
462+
})
463+
} catch {
464+
return false
465+
}
462466
}
463467

464468
function waitForWindowShow(visibilityManager: VisibilityManager) {

0 commit comments

Comments
 (0)