This commit is contained in:
Tim Baek
2026-02-05 10:24:12 +04:00
parent 62750b8980
commit d3f2cf7474
2 changed files with 42 additions and 15 deletions
+7 -1
View File
@@ -1653,7 +1653,8 @@
// 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) {
// Queue the message
const _files = JSON.parse(JSON.stringify(files)); const _files = JSON.parse(JSON.stringify(files));
messageQueue = [ messageQueue = [
...messageQueue, ...messageQueue,
@@ -1668,6 +1669,11 @@
prompt = ''; prompt = '';
files = []; files = [];
return; 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">