@@ -78,16 +78,16 @@ const handleHashRoutes = async () => {
7878 startPlexOauth ( ) ;
7979 } else {
8080 // request service worker to validate and save plex oauth token
81- await pingServiceWorker ( ) ;
82- await checkPlexAuthTokenValidity ( ) ;
81+ checkPlexAuthTokenValidity ( ) ;
82+ pingServiceWorker ( ) ;
8383 }
8484 if ( loginType == "simkl" ) {
8585 startSimklOauth ( ) ;
8686 } else {
8787 // request service worker to validate and save simkl oauth token
8888 // checkSimklAuthTokenValidity();
89- await checkSimklAuthTokenValidity ( ) ;
90- await pingServiceWorker ( ) ;
89+ checkSimklAuthTokenValidity ( ) ;
90+ pingServiceWorker ( ) ;
9191 }
9292} ;
9393
@@ -287,7 +287,7 @@ const onLoad = async () => {
287287 startNextSyncTimer ( ) ;
288288 }
289289 // service worker healthCheck
290- await pingServiceWorker ( ) ;
290+ pingServiceWorker ( ) ;
291291 } ) ( ) ;
292292
293293 uiSetPopupViewState ( ) ;
@@ -299,8 +299,14 @@ window.addEventListener("resize", uiHandleBackgroundImg);
299299
300300// Registering UI event handlers (actions)
301301
302- chrome . runtime . onMessage . addListener ( async ( message , sender ) => {
303- // consoledebug("Got message:", message, "from:", sender)();
302+ chrome . runtime . onMessage . addListener ( ( message , sender , sendResponse ) => {
303+ if ( ! ( "HandledMessagePorts" in window ) ) window . HandledMessagePorts = { } ;
304+ let msgIdx = Object . keys ( window . HandledMessagePorts ) . length ;
305+ window . HandledMessagePorts [ msgIdx ] = {
306+ message,
307+ sender,
308+ } ;
309+ // consoledebug("[popup] got message:", message, "from:", sender)();
304310 switch ( message . type ) {
305311 case ActionType . action :
306312 switch ( message . action ) {
@@ -398,7 +404,8 @@ chrome.runtime.onMessage.addListener(async (message, sender) => {
398404 case ActionType . ui . sync . progress :
399405 // handle earch progress item
400406 if ( message . value <= 0 ) {
401- return ;
407+ // don't return here, an sendResponse needs to be called
408+ break ;
402409 }
403410 document . body . classList . add ( "sync-in-progress-plex" ) ;
404411 document . body . classList . remove ( "sync-waiting-for-next-sync" ) ;
@@ -416,11 +423,13 @@ chrome.runtime.onMessage.addListener(async (message, sender) => {
416423 window . swPong = message ;
417424 break ;
418425 case ActionType . sw . tabFocus :
419- chrome . tabs . update (
420- ( await chrome . tabs . getCurrent ( ) ) . id ,
421- { active : true } ,
422- ( _ ) => { }
423- ) ;
426+ ( async ( ) => {
427+ chrome . tabs . update (
428+ ( await chrome . tabs . getCurrent ( ) ) . id ,
429+ { active : true } ,
430+ ( _ ) => { }
431+ ) ;
432+ } ) ( ) ;
424433 break ;
425434 default :
426435 consoledebug ( "Unknown action" , message ) ( ) ;
@@ -433,8 +442,17 @@ chrome.runtime.onMessage.addListener(async (message, sender) => {
433442 default :
434443 consoledebug ( "Unknown message type" , message ) ( ) ;
435444 }
436- // required if we don't use sendResponse
437- return true ;
445+ // consoledebug(
446+ // "[popup] Sending null response back",
447+ // message.type,
448+ // message.method,
449+ // message.action
450+ // )();
451+ sendResponse ( ) ;
452+ window . HandledMessagePorts [ msgIdx ] = {
453+ ...window . HandledMessagePorts [ msgIdx ] ,
454+ sendResponse : true ,
455+ } ;
438456} ) ;
439457
440458// TODOO: move this logic to service worker
@@ -454,7 +472,7 @@ const retrySyncWithBackoff = async (
454472 chrome . storage . local . set ( {
455473 failedTries : 0 ,
456474 } ) ;
457- return true ;
475+ return ;
458476 }
459477 let backOffmult = Math . min ( Math . pow ( 2 , failedTries ) , 30 ) ;
460478 restartLibrarySync (
@@ -514,7 +532,7 @@ const startNextSyncTimer = async () => {
514532 }
515533} ;
516534
517- const pingServiceWorker = async ( ) => {
535+ const pingServiceWorker = ( ) => {
518536 consoledebug ( "ping service worker" ) ( ) ;
519537 // ping service worker every 2 minutes
520538 window . pingerHandle && clearInterval ( pingerHandle ) ;
@@ -526,7 +544,7 @@ const pingServiceWorker = async () => {
526544 type : CallType . call ,
527545 method : CallType . bg . sw . ping ,
528546 } ;
529- await chrome . runtime . sendMessage ( m ) ;
547+ chrome . runtime . sendMessage ( m ) ;
530548 window . pingerTimeout && clearTimeout ( window . pingerTimeout ) ;
531549 window . pingerTimeout = setTimeout ( ( ) => {
532550 if ( window . swPong ) {
0 commit comments