refac
This commit is contained in:
@@ -1653,21 +1653,27 @@
|
|||||||
|
|
||||||
// Check if there are pending tasks (more reliable than lastMessage.done)
|
// Check if there are pending tasks (more reliable than lastMessage.done)
|
||||||
if (taskIds !== null && taskIds.length > 0) {
|
if (taskIds !== null && taskIds.length > 0) {
|
||||||
// Tasks pending - queue the message instead of blocking
|
if ($settings?.enableMessageQueue ?? true) {
|
||||||
const _files = JSON.parse(JSON.stringify(files));
|
// Queue the message
|
||||||
messageQueue = [
|
const _files = JSON.parse(JSON.stringify(files));
|
||||||
...messageQueue,
|
messageQueue = [
|
||||||
{
|
...messageQueue,
|
||||||
id: uuidv4(),
|
{
|
||||||
prompt: userPrompt,
|
id: uuidv4(),
|
||||||
files: _files
|
prompt: userPrompt,
|
||||||
}
|
files: _files
|
||||||
];
|
}
|
||||||
// Clear input
|
];
|
||||||
messageInput?.setText('');
|
// Clear input
|
||||||
prompt = '';
|
messageInput?.setText('');
|
||||||
files = [];
|
prompt = '';
|
||||||
return;
|
files = [];
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
// Interrupt: stop current generation and proceed
|
||||||
|
await stopResponse();
|
||||||
|
await tick();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (history?.currentId) {
|
if (history?.currentId) {
|
||||||
|
|||||||
@@ -58,6 +58,7 @@
|
|||||||
let insertFollowUpPrompt = false;
|
let insertFollowUpPrompt = false;
|
||||||
|
|
||||||
let regenerateMenu = true;
|
let regenerateMenu = true;
|
||||||
|
let enableMessageQueue = true;
|
||||||
|
|
||||||
let landingPageMode = '';
|
let landingPageMode = '';
|
||||||
let chatBubble = true;
|
let chatBubble = true;
|
||||||
@@ -224,6 +225,7 @@
|
|||||||
insertFollowUpPrompt = $settings?.insertFollowUpPrompt ?? false;
|
insertFollowUpPrompt = $settings?.insertFollowUpPrompt ?? false;
|
||||||
|
|
||||||
regenerateMenu = $settings?.regenerateMenu ?? true;
|
regenerateMenu = $settings?.regenerateMenu ?? true;
|
||||||
|
enableMessageQueue = $settings?.enableMessageQueue ?? true;
|
||||||
|
|
||||||
largeTextAsFile = $settings?.largeTextAsFile ?? false;
|
largeTextAsFile = $settings?.largeTextAsFile ?? false;
|
||||||
copyFormatted = $settings?.copyFormatted ?? false;
|
copyFormatted = $settings?.copyFormatted ?? false;
|
||||||
@@ -584,6 +586,25 @@
|
|||||||
|
|
||||||
<div class=" my-2 text-sm font-medium">{$i18n.t('Chat')}</div>
|
<div class=" my-2 text-sm font-medium">{$i18n.t('Chat')}</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<div class=" py-0.5 flex w-full justify-between">
|
||||||
|
<div id="enable-message-queue-label" class=" self-center text-xs">
|
||||||
|
{$i18n.t('Enable Message Queue')}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex items-center gap-2 p-1">
|
||||||
|
<Switch
|
||||||
|
ariaLabelledbyId="enable-message-queue-label"
|
||||||
|
tooltip={true}
|
||||||
|
bind:state={enableMessageQueue}
|
||||||
|
on:change={() => {
|
||||||
|
saveSettings({ enableMessageQueue });
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<div class=" py-0.5 flex w-full justify-between">
|
<div class=" py-0.5 flex w-full justify-between">
|
||||||
<div id="chat-direction-label" class=" self-center text-xs">
|
<div id="chat-direction-label" class=" self-center text-xs">
|
||||||
|
|||||||
Reference in New Issue
Block a user