From a8cd2357e70886f390525d989d06d9a5c563162d Mon Sep 17 00:00:00 2001 From: Ajay Date: Wed, 13 Dec 2023 19:38:38 -0500 Subject: [PATCH] Add retry logic to popup info --- src/popup.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/popup.ts b/src/popup.ts index a6157dea..562fbfcb 100644 --- a/src/popup.ts +++ b/src/popup.ts @@ -94,6 +94,8 @@ async function runThePopup(messageListener?: MessageListener): Promise { type PageElements = { [key: string]: HTMLElement } & InputPageElements let stopLoadingAnimation = null; + // For loading video info from the page + let loadRetryCount = 0; //the start and end time pairs (2d) let sponsorTimes: SponsorTime[] = []; @@ -409,9 +411,18 @@ async function runThePopup(messageListener?: MessageListener): Promise { currentVideoID = result.videoID; loadTabData(tabs, updating); - } else if (result === undefined && chrome.runtime.lastError) { - //this isn't a YouTube video then, or at least the content script is not loaded + } else { + // Handle error if it exists + chrome.runtime.lastError; + + // This isn't a YouTube video then, or at least the content script is not loaded displayNoVideo(); + + // Try again in some time if a failure + loadRetryCount++; + if (loadRetryCount < 6) { + setTimeout(() => getSegmentsFromContentScript(false), 100 * loadRetryCount); + } } }); }