@@ -207,16 +207,20 @@ export async function extensionInstalled() {
207207 character_sync_id ,
208208 { request_content : [ "version" ] } ,
209209 ( response ) => {
210+ if ( chrome . runtime . lastError ) {
211+ resolve ( undefined ) ;
212+ return ;
213+ }
210214 if ( response ) {
211215 resolve ( response . version ) ;
212216 } else {
213- return undefined ;
217+ resolve ( undefined ) ;
214218 }
215219 }
216220 ) ;
217221 } ) ;
218222 const timeout = new Promise ( ( resolve ) => {
219- setTimeout ( resolve , 100 , undefined ) ;
223+ setTimeout ( resolve , 2000 , undefined ) ;
220224 } ) ;
221225 return Promise . race ( [ sendMessage , timeout ] ) ;
222226}
@@ -230,6 +234,10 @@ export async function getCharacterSyncStorage() {
230234 character_sync_id ,
231235 { request_content : [ "characters" ] } ,
232236 ( response ) => {
237+ if ( chrome . runtime . lastError ) {
238+ resolve ( { } ) ;
239+ return ;
240+ }
233241 if ( response && response . characters ) {
234242 resolve ( response . characters ) ;
235243 } else {
@@ -239,7 +247,7 @@ export async function getCharacterSyncStorage() {
239247 ) ;
240248 } ) ;
241249 const timeout = new Promise ( ( resolve ) => {
242- setTimeout ( resolve , 100 , { } ) ;
250+ setTimeout ( resolve , 2000 , { } ) ;
243251 } ) ;
244252 return Promise . race ( [ sendMessage , timeout ] ) ;
245253}
@@ -256,6 +264,10 @@ export async function getCharacterSyncCharacter(url) {
256264 character_sync_id ,
257265 { request_content : [ "characters" ] } ,
258266 ( response ) => {
267+ if ( chrome . runtime . lastError ) {
268+ reject ( `Character not found in D&D Character Sync Extension` ) ;
269+ return ;
270+ }
259271 if ( response . characters && url in response . characters ) {
260272 resolve ( response . characters [ url ] ) ;
261273 } else {
@@ -265,7 +277,7 @@ export async function getCharacterSyncCharacter(url) {
265277 ) ;
266278 } ) ;
267279 const timeout = new Promise ( ( resolve ) => {
268- setTimeout ( resolve , 100 , `Character not found in D&D Character Sync Extension` ) ;
280+ setTimeout ( resolve , 2000 , `Character not found in D&D Character Sync Extension` ) ;
269281 } ) ;
270282 return Promise . race ( [ sendMessage , timeout ] ) ;
271283}
0 commit comments