diff options
| author | Tommy D. Rossi <[email protected]> | 2025-11-25 23:35:34 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-11-25 16:35:34 -0600 |
| commit | 64caeeb12d88c9200cba4139ef8288f26c9a3a49 (patch) | |
| tree | 5e2716d0e2835c4393bb6f415c7c535a4c59cbaa | |
| parent | e8ac4a1e995ae57795e639115289e91851805a21 (diff) | |
| download | opencode-64caeeb12d88c9200cba4139ef8288f26c9a3a49.tar.gz opencode-64caeeb12d88c9200cba4139ef8288f26c9a3a49.zip | |
fix(tui): abort in-progress generation on undo (#4744)
| -rw-r--r-- | packages/opencode/src/cli/cmd/tui/routes/session/index.tsx | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx index f8526e72b..2fb4aa556 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -319,7 +319,9 @@ export function Session() { value: "session.undo", keybind: "messages_undo", category: "Session", - onSelect: (dialog) => { + onSelect: async (dialog) => { + const status = sync.data.session_status[route.sessionID] + if (status?.type !== "idle") await sdk.client.session.abort({ path: { id: route.sessionID } }).catch(() => {}) const revert = session().revert?.messageID const message = messages().findLast((x) => (!revert || x.id < revert) && x.role === "user") if (!message) return |
