@@ -13,12 +13,12 @@ export function openWorkerDatabasePort(
13
13
) {
14
14
const needsDedicated = vfs == WASQLiteVFS . AccessHandlePoolVFS || vfs == WASQLiteVFS . OPFSCoopSyncVFS ;
15
15
16
- const handleErrors = < T extends AbstractWorker > ( worker : T ) => {
17
- worker . onerror = ( event ) => {
18
- throw `Unhandled worker error: ${ event . message } : ${ event . error } ` ;
16
+ const handleErrors = < T extends AbstractWorker > ( instance : T , url : string | URL ) : T => {
17
+ instance . onerror = ( event ) => {
18
+ throw `Unhandled worker error for ${ workerIdentifier } at ${ url } : ${ event . message } : ${ event . error } ` ;
19
19
} ;
20
20
21
- return worker ;
21
+ return instance ;
22
22
} ;
23
23
24
24
if ( worker ) {
@@ -27,13 +27,15 @@ export function openWorkerDatabasePort(
27
27
new SharedWorker ( `${ worker } ` , {
28
28
/* @vite -ignore */
29
29
name : `shared-DB-worker-${ workerIdentifier } `
30
- } )
30
+ } ) ,
31
+ worker
31
32
) . port
32
33
: handleErrors (
33
34
new Worker ( `${ worker } ` , {
34
35
/* @vite -ignore */
35
36
name : `DB-worker-${ workerIdentifier } `
36
- } )
37
+ } ) ,
38
+ worker
37
39
) ;
38
40
} else {
39
41
/**
@@ -42,20 +44,23 @@ export function openWorkerDatabasePort(
42
44
* This enables multi tab support by default, but falls back if SharedWorker is not available
43
45
* (in the case of Android)
44
46
*/
47
+ const debugUrl = new URL ( './WASQLiteDB.worker.js' , import . meta. url ) ;
45
48
return ! needsDedicated && multipleTabs
46
49
? handleErrors (
47
50
new SharedWorker ( new URL ( './WASQLiteDB.worker.js' , import . meta. url ) , {
48
51
/* @vite -ignore */
49
52
name : `shared-DB-worker-${ workerIdentifier } ` ,
50
53
type : 'module'
51
- } )
54
+ } ) ,
55
+ debugUrl
52
56
) . port
53
57
: handleErrors (
54
58
new Worker ( new URL ( './WASQLiteDB.worker.js' , import . meta. url ) , {
55
59
/* @vite -ignore */
56
60
name : `DB-worker-${ workerIdentifier } ` ,
57
61
type : 'module'
58
- } )
62
+ } ) ,
63
+ debugUrl
59
64
) ;
60
65
}
61
66
}
0 commit comments