File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 16531653
16541654 // Check if there are pending tasks (more reliable than lastMessage.done)
16551655 if (taskIds !== null && taskIds .length > 0 ) {
1656- // Tasks pending - queue the message instead of blocking
1657- const _files = JSON .parse (JSON .stringify (files ));
1658- messageQueue = [
1659- ... messageQueue ,
1660- {
1661- id: uuidv4 (),
1662- prompt: userPrompt ,
1663- files: _files
1664- }
1665- ];
1666- // Clear input
1667- messageInput ?.setText (' ' );
1668- prompt = ' ' ;
1669- files = [];
1670- return ;
1656+ if ($settings ?.enableMessageQueue ?? true ) {
1657+ // Queue the message
1658+ const _files = JSON .parse (JSON .stringify (files ));
1659+ messageQueue = [
1660+ ... messageQueue ,
1661+ {
1662+ id: uuidv4 (),
1663+ prompt: userPrompt ,
1664+ files: _files
1665+ }
1666+ ];
1667+ // Clear input
1668+ messageInput ?.setText (' ' );
1669+ prompt = ' ' ;
1670+ files = [];
1671+ return ;
1672+ } else {
1673+ // Interrupt: stop current generation and proceed
1674+ await stopResponse ();
1675+ await tick ();
1676+ }
16711677 }
16721678
16731679 if (history ?.currentId ) {
Original file line number Diff line number Diff line change 5858 let insertFollowUpPrompt = false ;
5959
6060 let regenerateMenu = true ;
61+ let enableMessageQueue = true ;
6162
6263 let landingPageMode = ' ' ;
6364 let chatBubble = true ;
224225 insertFollowUpPrompt = $settings ?.insertFollowUpPrompt ?? false ;
225226
226227 regenerateMenu = $settings ?.regenerateMenu ?? true ;
228+ enableMessageQueue = $settings ?.enableMessageQueue ?? true ;
227229
228230 largeTextAsFile = $settings ?.largeTextAsFile ?? false ;
229231 copyFormatted = $settings ?.copyFormatted ?? false ;
584586
585587 <div class =" my-2 text-sm font-medium" >{$i18n .t (' Chat' )}</div >
586588
589+ <div >
590+ <div class =" py-0.5 flex w-full justify-between" >
591+ <div id =" enable-message-queue-label" class =" self-center text-xs" >
592+ {$i18n .t (' Enable Message Queue' )}
593+ </div >
594+
595+ <div class =" flex items-center gap-2 p-1" >
596+ <Switch
597+ ariaLabelledbyId =" enable-message-queue-label"
598+ tooltip ={true }
599+ bind:state ={enableMessageQueue }
600+ on:change ={() => {
601+ saveSettings ({ enableMessageQueue });
602+ }}
603+ />
604+ </div >
605+ </div >
606+ </div >
607+
587608 <div >
588609 <div class =" py-0.5 flex w-full justify-between" >
589610 <div id =" chat-direction-label" class =" self-center text-xs" >
You can’t perform that action at this time.
0 commit comments