From c47346cc6237044ecb60ff22c4011d89744af581 Mon Sep 17 00:00:00 2001 From: Adam Malczewski Date: Fri, 22 May 2026 20:54:19 +0900 Subject: feat: message queue/interrupt system, CORS fix, mobile fixes, chat splitting - Add message queue allowing users to send messages while agent is running - Queue messages are injected into tool results as [USER INTERRUPT] - Retrieve tool interrupted via Promise.race when user message arrives - Queued messages show with 'queued' badge and cancel button - Consumed messages repositioned and chat splits at interrupt point - New assistant message block created after interrupt for clean flow - Add POST /chat/cancel endpoint for cancelling queued messages - Fix CORS to allow any origin (Tailscale/LAN access) - Fix crypto.randomUUID fallback for non-secure contexts (HTTP) - Fix frontend API URL derivation from page hostname - Auto-create DB tab if missing on processMessage (foreign key fix) - Add error logging to processMessage catch block - Fix working directory input sync on agent switch - Fix agent mode button to re-apply agent settings --- .../frontend/src/lib/components/ChatMessage.svelte | 29 ++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'packages/frontend/src/lib/components/ChatMessage.svelte') diff --git a/packages/frontend/src/lib/components/ChatMessage.svelte b/packages/frontend/src/lib/components/ChatMessage.svelte index 308e6ba..c6b6034 100644 --- a/packages/frontend/src/lib/components/ChatMessage.svelte +++ b/packages/frontend/src/lib/components/ChatMessage.svelte @@ -1,13 +1,26 @@ {#if isSystem} @@ -21,7 +34,7 @@ const isSystem = $derived(message.role === "system"); {:else} -
+
{#if message.thinking}
@@ -43,5 +56,17 @@ const isSystem = $derived(message.role === "system"); {/if}
+ {#if isQueued} +
+ queued + +
+ {/if}
{/if} -- cgit v1.2.3