Catch PK API network errors
This commit is contained in:
		
							parent
							
								
									eadefef6a3
								
							
						
					
					
						commit
						a579b509d3
					
				
					 1 changed files with 10 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -146,15 +146,20 @@ async function fetchMessage(messageID) {
 | 
			
		|||
	// Their backend is weird. Sometimes it says "message not found" (code 20006) on the first try, so we make multiple attempts.
 | 
			
		||||
	let attempts = 0
 | 
			
		||||
	do {
 | 
			
		||||
		var res = await fetch(`https://api.pluralkit.me/v2/messages/${messageID}`)
 | 
			
		||||
		if (res.ok) return res.json()
 | 
			
		||||
		try {
 | 
			
		||||
			var res = await fetch(`https://api.pluralkit.me/v2/messages/${messageID}`)
 | 
			
		||||
			if (res.ok) return res.json()
 | 
			
		||||
			var errorGetter = res.json
 | 
			
		||||
		} catch (e) {
 | 
			
		||||
			// Catch any network issues too.
 | 
			
		||||
			errorGetter = e.toString
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// I think the backend needs some time to update.
 | 
			
		||||
		await new Promise(resolve => setTimeout(resolve, 2000))
 | 
			
		||||
		await new Promise(resolve => setTimeout(resolve, 1500))
 | 
			
		||||
	} while (++attempts < 3)
 | 
			
		||||
 | 
			
		||||
	const errorMessage = await res.json()
 | 
			
		||||
	throw new Error(`PK API returned an error after ${attempts} tries: ${JSON.stringify(errorMessage)}`)
 | 
			
		||||
	throw new Error(`PK API returned an error after ${attempts} tries: ${JSON.stringify(await errorGetter())}`)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module.exports._memberToStateContent = memberToStateContent
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue