@@ -96,8 +96,8 @@ class Settings {
9696
9797 static load ( ) {
9898 return new Promise ( resolve => {
99- let storage = bapi . browser . storage ;
100- if ( ! storage ) { // Browsers such as chromium
99+ const storage = bapi . browser . storage ;
100+ if ( ! storage ) {
101101 resolve ( ) ;
102102 return ;
103103 }
@@ -109,14 +109,15 @@ class Settings {
109109 Settings . data = settings ;
110110 if ( Settings . data . version !== SettingsManager . DEFAULT . version ) {
111111 const key = Settings . data . key ;
112+ console . log ( 'mismatched version' , key ) ;
112113 await Settings . reset ( ) ;
113114 Settings . data . key = key ;
114115 }
115116 }
116- // Temporary fix
117- if ( Settings . data . key ?. startsWith ( 'MIIBI' ) ) {
118- Settings . data . key = '' ;
119- }
117+ // // Temporary fix
118+ // if (Settings.data.key?.startsWith('MIIBI')) {
119+ // Settings.data.key = '';
120+ // }
120121 resolve ( ) ;
121122 } ) ;
122123 } ) ;
@@ -173,12 +174,14 @@ class Injector {
173174
174175 static async inject_files ( { tab_id, frame_id, data : { files} } ) {
175176 const options = {
176- // target: {tabId: tab_id, allFrames: true},
177177 target : { tabId : tab_id , frameIds : [ frame_id ] } ,
178178 world : 'MAIN' ,
179179 injectImmediately : true ,
180180 files : files ,
181181 } ;
182+ if ( bapi . VERSION === 'firefox' ) {
183+ delete options . world ;
184+ }
182185 return await Injector . _inject ( options ) ;
183186 }
184187}
@@ -194,13 +197,13 @@ class Recaptcha {
194197
195198class Server {
196199 static ENDPOINT = `https://api.nopecha.com/status?v=${ bapi . browser . runtime . getManifest ( ) . version } ` ;
197- static in_progress = false ;
200+ static is_fetching_plan = false ;
198201
199202 static async get_plan ( { data : { key} } ) {
200- if ( Server . in_progress ) {
203+ if ( Server . is_fetching_plan ) {
201204 return false ;
202205 }
203- Server . in_progress = true ;
206+ Server . is_fetching_plan = true ;
204207 let plan = {
205208 plan : 'Unknown' ,
206209 credit : 0 ,
@@ -212,7 +215,7 @@ class Server {
212215 const r = await fetch ( `${ Server . ENDPOINT } &k=${ key } ` ) ;
213216 plan = JSON . parse ( await r . text ( ) ) ;
214217 } catch { }
215- Server . in_progress = false ;
218+ Server . is_fetching_plan = false ;
216219 return plan ;
217220 }
218221}
@@ -315,6 +318,13 @@ class Icon {
315318}
316319
317320
321+ class Browser {
322+ static async get_version ( ) {
323+ return bapi . VERSION ;
324+ }
325+ }
326+
327+
318328const FN = {
319329 set_cache : Cache . set ,
320330 get_cache : Cache . get ,
@@ -349,6 +359,8 @@ const FN = {
349359
350360 set_icon : Icon . set_icon ,
351361 // set_badge: Icon.set_badge,
362+
363+ browser_version : Browser . get_version ,
352364} ;
353365
354366
@@ -366,16 +378,22 @@ const FN = {
366378 // Chrome doesn't support async event listeners yet
367379 ( async ( ) => {
368380 const verbose = ! [ 'get_settings' , 'set_settings' , 'set_cache' ] . includes ( req . method ) ;
381+ // const verbose = !['set_cache'].includes(req.method);
369382
370383 if ( verbose ) {
371384 console . log ( 'message' , sender , req ) ;
372385 }
373386
387+ let tab_id = sender ?. tab ?. id ;
388+ if ( req . data && 'tab_id' in req . data ) {
389+ tab_id = req . data . tab_id ;
390+ }
391+
374392 try {
375393 // const result = await FN[req.method]({tab_id: sender?.tab?.id, data: req.data});
376- const result = await FN [ req . method ] ( { tab_id : sender ?. tab ?. id , frame_id : sender ?. frameId , data : req . data } ) ;
394+ const result = await FN [ req . method ] ( { tab_id, frame_id : sender ?. frameId , data : req . data } ) ;
377395 if ( verbose ) {
378- console . log ( 'result' , result ) ;
396+ console . log ( 'result' , req . method , result ) ;
379397 }
380398 return result ;
381399 } catch ( e ) {
0 commit comments