summaryrefslogtreecommitdiffhomepage
path: root/src/app/App.svelte
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-22 03:06:52 +0900
committerAdam Malczewski <[email protected]>2026-06-22 03:06:52 +0900
commita4f0a0a7424fefcc19e52b871c531ce54cb06964 (patch)
tree39a649fb7ef4e8f8468c7bc72efda3ba384270b4 /src/app/App.svelte
parent2772e0723cfc7898443320515e165a625de1db46 (diff)
downloaddispatch-web-a4f0a0a7424fefcc19e52b871c531ce54cb06964.tar.gz
dispatch-web-a4f0a0a7424fefcc19e52b871c531ce54cb06964.zip
feat(chat): stop generation button — abort without closing
Consume the stop-generation handoff (no version bumps, no new types). - App store: stopGeneration() → POST /conversations/:id/stop (fire-and-forget) - Composer: stop button (square, error color) visible only while generating, next to the send/queue button - Existing event flow handles the rest: done with reason 'aborted' clears generating; conversation.statusChanged: idle updates the tab spinner 686 tests green.
Diffstat (limited to 'src/app/App.svelte')
-rw-r--r--src/app/App.svelte5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/app/App.svelte b/src/app/App.svelte
index 350db49..3024a44 100644
--- a/src/app/App.svelte
+++ b/src/app/App.svelte
@@ -195,6 +195,10 @@
store.queueMessage(text);
}
+ function handleStop() {
+ store.stopGeneration();
+ }
+
function handleSelectModel(model: string) {
store.selectModel(model);
}
@@ -372,6 +376,7 @@
<Composer
onSend={handleSend}
onQueue={handleQueue}
+ onStop={handleStop}
contextSize={store.activeChat.currentContextSize}
status={store.activeChat.error
? "error"