mirror of
https://github.com/Sea-Haven-Industries/open-swe.git
synced 2026-09-30 22:03:14 +00:00
* fix: keep prompt bar editable while a run streams The follow-up submit path awaited stream.submit, which resolves only when the run finishes. That kept the react-query mutation isPending for the whole run, so AgentThreadView disabled the prompt bar textarea the entire time the agent was streaming - the user saw the "queue next" placeholder but couldn't click in or type. Fire the run without awaiting its full lifecycle (matching the new-thread path in AgentsHome) so the input stays editable for queueing. Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com> * refactor(ui): guard double-submit internally instead of via disabled prop Stop threading a run-lifecycle signal (the send mutation's isPending) into the prompt bar to gate the input. Instead, the prompt bar owns a synchronous double-submit guard (submittingRef) plus a short-lived isSubmitting state scoped to the in-flight send. The textarea now stays editable while a run streams (so follow-ups can be queued), and onSubmit is awaitable so the guard tracks the actual send request rather than the run. Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com> * fix(ui): surface failed run-start instead of leaving thread running When stream.submit rejects (e.g. 401 expired token or 409 active-run race), the fire-and-forget catch was a no-op while onSuccess had already optimistically set status: running, leaving the thread stuck in a busy state with no surfaced error. Clear the busy state and mark the thread errored on submit failure. Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com> --------- Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com> Co-authored-by: Johannes du Plessis <51395795+johannes117@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| components | ||
| lib | ||
| routes | ||
| styles | ||
| client.tsx | ||
| logo.svg | ||
| router.tsx | ||
| routeTree.gen.ts | ||
| styles.css | ||