uberf-7765: only retry network errors when loading config for desktop app (#6274)

Signed-off-by: Alexey Zinoviev <alexey.zinoviev@xored.com>
This commit is contained in:
Alexey Zinoviev 2024-08-06 20:37:01 +04:00 committed by GitHub
parent b6bb2b7a0c
commit ce9a30a3ff
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -19,21 +19,27 @@ export function concatLink (host: string, path: string): string {
async function loadServerConfig (url: string): Promise<any> {
let retries = 5
let error: any
let res: Response | undefined
do {
try {
return await (await fetch(url)).json()
res = await fetch(url)
break
} catch (e) {
error = e
retries--
if (retries > 0) {
await new Promise((resolve) => setTimeout(resolve, 1000 * (5 - retries)))
if (retries === 0) {
throw new Error(`Failed to load server config: ${e}`)
}
await new Promise((resolve) => setTimeout(resolve, 1000 * (5 - retries)))
}
} while (retries > 0)
throw new Error(`Failed to load server config: ${error}`)
if (res === undefined) {
// In theory should never get here
throw new Error('Failed to load server config')
}
return await res.json()
}
const openArg = (process.argv.find((it) => it.startsWith('--open=')) ?? '').split('--open=')[1]