feat(run): Enter sends the prompt, and a busy lane attaches instead of failing

- The prompt box sends on Enter (Ctrl/Cmd+Enter still works); Shift+Enter
  inserts a newline, and IME composition (Vietnamese/CJK) never sends.
- Starting or resuming into a lane that still holds a live run answered a
  raw 409 ERUNLIVE; the console now attaches to that run with a notice.
  Checked by error code, since the server's message is prose.
- Active runs gains a two-click Kill for live dashboard-spawned rows, the
  way to free a lane when the previous session really should go.
This commit is contained in:
2026-09-23 13:23:20 +07:00
parent 1f5c04e765
commit 3f50e162e6
9 changed files with 205 additions and 19 deletions
@@ -5578,7 +5578,7 @@ exports[`screen snapshots > Run 1`] = `
<div
class="mt-1 text-[10px] text-fg-muted"
>
Cmd+Enter / Ctrl+Enter to send
Enter to send · Shift+Enter for newline
· / for slash commands · @ for file references
</div>
</div>
@@ -9617,7 +9617,7 @@ exports[`screen snapshots > Settings 1`] = `
<p
class="text-[10px] text-status-warning/90 mt-1"
>
UI build v1.8.1 (rebuild client to match)
UI build v1.8.2 (rebuild client to match)
</p>
</div>
<div