Skip to content

Commit 9fc3c02

Browse files
authored
Optimize the scrollbar and flag during the generating
1 parent 698a97c commit 9fc3c02

File tree

1 file changed

+15
-19
lines changed

1 file changed

+15
-19
lines changed

index.html

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -379,8 +379,7 @@
379379
@click="messageStore.sendMessage" icon="mdi-arrow-up">
380380
</v-btn>
381381
<v-btn v-else-if="messageStore.generating" size="small" color="primary" variant="elevated"
382-
@click="messageStore.stop"
383-
icon="mdi-stop"></v-btn>
382+
@click="messageStore.stop" icon="mdi-stop"></v-btn>
384383
<v-btn v-else-if="messageStore.conversation.length > 0" size="small" color="primary"
385384
variant="elevated" @click="messageStore.resendMessage" icon="mdi-autorenew"></v-btn>
386385
<v-btn v-else size="small" color="grey" variant="elevated" icon="mdi-arrow-up">
@@ -764,18 +763,13 @@ <h5 class="font-weight-bold">{{ column.key }}</h5>
764763
</v-avatar>
765764
<tuui-chat-card :index="index" :messages="messages" :show-content="true">
766765
<template v-slot:default="{ showcontent }">
767-
<div v-if="showcontent">
768-
<v-card-text class="md-preview pt-1">
769-
<v-textarea class="conversation-area" variant="plain" density='compact'
770-
auto-grow hide-details rows="1" readonly
771-
v-model="message.content"></v-textarea>
772-
</v-card-text>
773-
</div>
774-
<div v-else>
775-
<md-preview :model-value="message.content" class="md-preview"
776-
:language="language == 'zhHans' ? 'zh-CN' : 'en-US'" :code-foldable="true"
777-
auto-fold-threshold="Infinity"></md-preview>
778-
</div>
766+
<v-card-text v-if="showcontent" class="md-preview pt-1">
767+
<v-textarea class="conversation-area" variant="plain" density='compact' auto-grow
768+
hide-details rows="1" readonly v-model="message.content"></v-textarea>
769+
</v-card-text>
770+
<md-preview v-else :model-value="message.content" class="md-preview"
771+
:language="language == 'zhHans' ? 'zh-CN' : 'en-US'" :code-foldable="true"
772+
auto-fold-threshold="Infinity"></md-preview>
779773
</template>
780774
</tuui-chat-card>
781775
</div>
@@ -1176,7 +1170,7 @@ <h5 class="font-weight-bold">{{ column.key }}</h5>
11761170
}
11771171
},
11781172
stop() {
1179-
this.generating = false,
1173+
this.generating = false;
11801174
snackbarStore.showInfoMessage('$vuetify.dataIterator.snackbar.stopped')
11811175
},
11821176
clear() {
@@ -1409,7 +1403,7 @@ <h5 class="font-weight-bold">{{ column.key }}</h5>
14091403
});
14101404

14111405
const chatbotStore = useChatbotStore();
1412-
1406+
14131407
const settingStore = useSettingStore();
14141408
const agentStore = useAgentStore();
14151409
const messageStore = useMessageStore();
@@ -1486,9 +1480,11 @@ <h5 class="font-weight-bold">{{ column.key }}</h5>
14861480
let buffer = ''
14871481

14881482
// Read the stream
1489-
read(reader, messageStore.conversation[messageStore.conversation.length - 1], buffer, chatbotStore.stream);
1483+
await read(reader, messageStore.conversation[messageStore.conversation.length - 1], buffer, chatbotStore.stream);
14901484
} catch (error) {
14911485
snackbarStore.showErrorMessage(error.message);
1486+
} finally {
1487+
messageStore.generating = false
14921488
}
14931489
};
14941490

@@ -1585,9 +1581,9 @@ <h5 class="font-weight-bold">{{ column.key }}</h5>
15851581
}
15861582
};
15871583

1588-
watch(computed(() => messageStore.conversation),
1584+
watch(computed(() => messageStore.conversation[messageStore.conversation.length - 1]?.content),
15891585
(newValue, oldValue) => {
1590-
if (newValue[newValue.length - 1] !== oldValue[oldValue.length - 1]) {
1586+
if (newValue !== oldValue) {
15911587
asyncScrollToBottom();
15921588
}
15931589
}, { deep: true });

0 commit comments

Comments
 (0)