@@ -13,12 +13,12 @@ export function openWorkerDatabasePort(
1313) {
1414 const needsDedicated = vfs == WASQLiteVFS . AccessHandlePoolVFS || vfs == WASQLiteVFS . OPFSCoopSyncVFS ;
1515
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 } ` ;
1919 } ;
2020
21- return worker ;
21+ return instance ;
2222 } ;
2323
2424 if ( worker ) {
@@ -27,13 +27,15 @@ export function openWorkerDatabasePort(
2727 new SharedWorker ( `${ worker } ` , {
2828 /* @vite -ignore */
2929 name : `shared-DB-worker-${ workerIdentifier } `
30- } )
30+ } ) ,
31+ worker
3132 ) . port
3233 : handleErrors (
3334 new Worker ( `${ worker } ` , {
3435 /* @vite -ignore */
3536 name : `DB-worker-${ workerIdentifier } `
36- } )
37+ } ) ,
38+ worker
3739 ) ;
3840 } else {
3941 /**
@@ -42,20 +44,23 @@ export function openWorkerDatabasePort(
4244 * This enables multi tab support by default, but falls back if SharedWorker is not available
4345 * (in the case of Android)
4446 */
47+ const debugUrl = new URL ( './WASQLiteDB.worker.js' , import . meta. url ) ;
4548 return ! needsDedicated && multipleTabs
4649 ? handleErrors (
4750 new SharedWorker ( new URL ( './WASQLiteDB.worker.js' , import . meta. url ) , {
4851 /* @vite -ignore */
4952 name : `shared-DB-worker-${ workerIdentifier } ` ,
5053 type : 'module'
51- } )
54+ } ) ,
55+ debugUrl
5256 ) . port
5357 : handleErrors (
5458 new Worker ( new URL ( './WASQLiteDB.worker.js' , import . meta. url ) , {
5559 /* @vite -ignore */
5660 name : `DB-worker-${ workerIdentifier } ` ,
5761 type : 'module'
58- } )
62+ } ) ,
63+ debugUrl
5964 ) ;
6065 }
6166}
0 commit comments