@@ -371,31 +371,42 @@ function useDev({
371
371
} ) ;
372
372
373
373
websocket . addEventListener ( "message" , async ( event ) => {
374
- const data = JSON . parse (
375
- typeof event . data === "string" ? event . data : new TextDecoder ( "utf-8" ) . decode ( event . data )
376
- ) ;
374
+ try {
375
+ const data = JSON . parse (
376
+ typeof event . data === "string" ? event . data : new TextDecoder ( "utf-8" ) . decode ( event . data )
377
+ ) ;
377
378
378
- const messageHandler = new ZodMessageHandler ( {
379
- schema : serverWebsocketMessages ,
380
- messages : {
381
- SERVER_READY : async ( payload ) => {
382
- for ( const worker of backgroundWorkerCoordinator . currentWorkers ) {
383
- await sender . send ( "READY_FOR_TASKS" , {
384
- backgroundWorkerId : worker . id ,
385
- inProgressRuns : worker . worker . inProgressRuns ,
386
- } ) ;
387
- }
388
- } ,
389
- BACKGROUND_WORKER_MESSAGE : async ( payload ) => {
390
- await backgroundWorkerCoordinator . handleMessage (
391
- payload . backgroundWorkerId ,
392
- payload . data
393
- ) ;
379
+ const messageHandler = new ZodMessageHandler ( {
380
+ schema : serverWebsocketMessages ,
381
+ messages : {
382
+ SERVER_READY : async ( payload ) => {
383
+ for ( const worker of backgroundWorkerCoordinator . currentWorkers ) {
384
+ await sender . send ( "READY_FOR_TASKS" , {
385
+ backgroundWorkerId : worker . id ,
386
+ inProgressRuns : worker . worker . inProgressRuns ,
387
+ } ) ;
388
+ }
389
+ } ,
390
+ BACKGROUND_WORKER_MESSAGE : async ( payload ) => {
391
+ await backgroundWorkerCoordinator . handleMessage (
392
+ payload . backgroundWorkerId ,
393
+ payload . data
394
+ ) ;
395
+ } ,
394
396
} ,
395
- } ,
396
- } ) ;
397
+ } ) ;
397
398
398
- await messageHandler . handleMessage ( data ) ;
399
+ await messageHandler . handleMessage ( data ) ;
400
+ } catch ( error ) {
401
+ if ( error instanceof Error ) {
402
+ logger . error ( "Error while handling websocket message" , { error : error . message } ) ;
403
+ } else {
404
+ logger . error (
405
+ "Unkown error while handling websocket message, use `-l debug` for additional output"
406
+ ) ;
407
+ logger . debug ( "Error while handling websocket message" , { error } ) ;
408
+ }
409
+ }
399
410
} ) ;
400
411
401
412
let ctx : BuildContext | undefined ;
0 commit comments