diff options
author | Madeline <46743919+MaddyUnderStars@users.noreply.github.com> | 2023-02-22 13:16:43 +1100 |
---|---|---|
committer | Madeline <46743919+MaddyUnderStars@users.noreply.github.com> | 2023-02-22 13:16:43 +1100 |
commit | c7ce750e926fcf423e3c08a3b542c27c238b2aff (patch) | |
tree | 519d7b11d19ddcb1344b37cd02f23d43e2c3e631 /scripts | |
parent | Merge branch 'master' into feat/webrtc (diff) | |
download | server-c7ce750e926fcf423e3c08a3b542c27c238b2aff.tar.xz |
Client patcher now attempts assets multiple times, in case net sucks
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/client.js | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/scripts/client.js b/scripts/client.js index 1320cb2c..6f297b1e 100644 --- a/scripts/client.js +++ b/scripts/client.js @@ -201,7 +201,20 @@ const processFile = async (asset) => { if (ONLY_CACHE_JS && !asset.endsWith(".js")) return []; const url = `${BASE_URL}/assets/${asset}`; - const res = await fetch(url, { agent }); + let res, + tries = 5; + do { + try { + res = await fetch(url, { agent }); + } catch (e) { + await new Promise((resolve) => setTimeout(resolve, 100)); + print( + `Failed to fetch ${url} : ${e.message} ( tries remaining: ${tries} )`, + false, + ); + if (--tries <= 0) throw e; + } + } while (!res); if (res.status !== 200) { print(`${res.status} on ${asset}`, false); return []; |