From ae56e4778f4d5adc29341d93557aa02e40e70a89 Mon Sep 17 00:00:00 2001 From: Nick Santos Date: Tue, 10 May 2022 10:51:21 -0400 Subject: [PATCH] fix(client): wait on the socket host, not the ping host (#6819) --- packages/vite/src/client/client.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/vite/src/client/client.ts b/packages/vite/src/client/client.ts index 48917204d8c291..6a7f9b27c3a700 100644 --- a/packages/vite/src/client/client.ts +++ b/packages/vite/src/client/client.ts @@ -201,12 +201,10 @@ async function waitForSuccessfulPing(ms = 1000) { // eslint-disable-next-line no-constant-condition while (true) { try { - const pingResponse = await fetch(`${base}__vite_ping`) - - // success - 2xx status code - if (pingResponse.ok) break - // failure - non-2xx status code - else throw new Error() + // A fetch on a websocket URL will return a successful promise with status 400, + // but will reject a networking error. + await fetch(`${location.protocol}//${socketHost}`) + break } catch (e) { // wait ms before attempting to ping again await new Promise((resolve) => setTimeout(resolve, ms))