Skip to content

Commit a117dcb

Browse files
committed
catch remaining dev cli message handler errors
1 parent 415ddb8 commit a117dcb

File tree

1 file changed

+33
-22
lines changed
  • packages/cli-v3/src/commands

1 file changed

+33
-22
lines changed

packages/cli-v3/src/commands/dev.tsx

Lines changed: 33 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -371,31 +371,42 @@ function useDev({
371371
});
372372

373373
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+
);
377378

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+
},
394396
},
395-
},
396-
});
397+
});
397398

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+
}
399410
});
400411

401412
let ctx: BuildContext | undefined;

0 commit comments

Comments
 (0)