diff --git a/examples/server/public/index.html.gz b/examples/server/public/index.html.gz
index 3a2529aa2..df3cb1bef 100644
Binary files a/examples/server/public/index.html.gz and b/examples/server/public/index.html.gz differ
diff --git a/examples/server/webui/index.html b/examples/server/webui/index.html
index 882570c81..1ad85e739 100644
--- a/examples/server/webui/index.html
+++ b/examples/server/webui/index.html
@@ -154,7 +154,6 @@
placeholder="Type a message (Shift+Enter to add a new line)"
v-model="inputMsg"
@keydown.enter.exact.prevent="sendMessage"
- :disabled="isGenerating"
id="msg-input"
dir="auto"
>
diff --git a/examples/server/webui/src/main.js b/examples/server/webui/src/main.js
index 90f4ca368..bc8a6d80f 100644
--- a/examples/server/webui/src/main.js
+++ b/examples/server/webui/src/main.js
@@ -469,6 +469,14 @@ const mainApp = createApp({
},
async sendMessage() {
if (!this.inputMsg) return;
+
+ if (this.isGenerating) {
+ this.stopGeneration();
+ while (this.isGenerating) {
+ await new Promise((resolve) => setTimeout(resolve, 10));
+ }
+ }
+
const currConvId = this.viewingConvId;
StorageUtils.appendMsg(currConvId, {