Delete worker / delete workflow / start execution failures use blocking alert() and confirm(), while schedules and prompts use lt.toast. Creating a workflow failure shows a bare "Failed to create workflow" even though the server returns a reason (e.g. webhook URL validation).
When the WebSocket drops, the UI silently retries every 5 s; live updates stop with no banner, and toasts for command results never arrive.
ESC closes .modal dialogs but not the Run Workflow parameter modal (#paramModal toggles display instead of the .show class), and no modal traps focus.
Suggested fix
Use lt.modal.confirm / lt.toast everywhere, always surface err.error, add a "⚠ disconnected – reconnecting" header indicator driven by ws.onclose/onopen, and include #paramModal in the ESC handler.
## Overview
- Delete worker / delete workflow / start execution failures use blocking `alert()` and `confirm()`, while schedules and prompts use `lt.toast`. Creating a workflow failure shows a bare "Failed to create workflow" even though the server returns a reason (e.g. webhook URL validation).
- When the WebSocket drops, the UI silently retries every 5 s; live updates stop with no banner, and toasts for command results never arrive.
- ESC closes `.modal` dialogs but not the Run Workflow parameter modal (`#paramModal` toggles `display` instead of the `.show` class), and no modal traps focus.
## Suggested fix
Use `lt.modal.confirm` / `lt.toast` everywhere, always surface `err.error`, add a "⚠ disconnected – reconnecting" header indicator driven by `ws.onclose/onopen`, and include `#paramModal` in the ESC handler.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Overview
alert()andconfirm(), while schedules and prompts uselt.toast. Creating a workflow failure shows a bare "Failed to create workflow" even though the server returns a reason (e.g. webhook URL validation)..modaldialogs but not the Run Workflow parameter modal (#paramModaltogglesdisplayinstead of the.showclass), and no modal traps focus.Suggested fix
Use
lt.modal.confirm/lt.toasteverywhere, always surfaceerr.error, add a "⚠ disconnected – reconnecting" header indicator driven byws.onclose/onopen, and include#paramModalin the ESC handler.