(port: number)
| 503 | }; |
| 504 | |
| 505 | const showPortInUseDialog = async (port: number) => { |
| 506 | await dialog.showMessageBox({ |
| 507 | type: "error", |
| 508 | title: "Executor port in use", |
| 509 | message: `Port ${port} is already taken.`, |
| 510 | detail: |
| 511 | "Another process is listening on that port. Quit it (or change the desktop server's port in Settings) and relaunch Executor.", |
| 512 | buttons: ["OK"], |
| 513 | }); |
| 514 | }; |
| 515 | |
| 516 | // Last non-port-conflict sidecar startup failure, surfaced by boot() in a |
| 517 | // user-facing dialog instead of letting the app vanish without a window. |
no outgoing calls
no test coverage detected