File tree Expand file tree Collapse file tree 1 file changed +10
-3
lines changed
Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -146,18 +146,25 @@ export async function storeSecretKeyInServiceWorker(secretKey: string): Promise<
146146
147147let gettingSecretInProgress = false ;
148148let secretKeyPromise : Promise < string | null > | null = null ;
149+ let retries = 0 ;
149150
150151export async function getSecretKeyFromServiceWorker ( ) : Promise < string | null > {
151152 if ( gettingSecretInProgress ) {
152153 return secretKeyPromise ;
153154 }
154155
155- secretKeyPromise = new Promise ( ( resolve ) => {
156- if ( ! navigator . serviceWorker . controller ) {
157- console . error ( "No service worker controller found" ) ;
156+ secretKeyPromise = new Promise ( async ( resolve ) => {
157+ if ( ! navigator . serviceWorker . controller && retries < 3 ) {
158+ console . error ( "No service worker controller found. Retrying..." ) ;
159+ retries ++ ;
160+ resolve ( await getSecretKeyFromServiceWorker ( ) ) ;
161+ return ;
162+ } else if ( ! navigator . serviceWorker . controller ) {
163+ console . error ( "No service worker controller found after retries." ) ;
158164 resolve ( null ) ;
159165 return ;
160166 }
167+ retries = 0 ;
161168 gettingSecretInProgress = true ;
162169
163170 const timeout = setTimeout ( ( ) => {
You can’t perform that action at this time.
0 commit comments