diff --git a/frontend/apps/widget/src/App.vue b/frontend/apps/widget/src/App.vue index ec4063e9..4321a0b0 100644 --- a/frontend/apps/widget/src/App.vue +++ b/frontend/apps/widget/src/App.vue @@ -72,6 +72,13 @@ const setupParentMessageListeners = () => { } else if (event.data.type === 'SET_JWT_TOKEN') { if (event.data.jwt) { userStore.setSessionToken(event.data.jwt) + // Re-fetch conversations with the new auth token. + chatStore.conversations = null + chatStore.fetchConversations().then(() => { + if (widgetStore.config?.direct_to_conversation && chatStore.hasConversations) { + chatStore.loadConversation(chatStore.getConversations[0].uuid) + } + }) } } else if (event.data.type === 'CLEAR_SESSION') { userStore.clearSessionToken() diff --git a/frontend/apps/widget/src/components/MessageInput.vue b/frontend/apps/widget/src/components/MessageInput.vue index 5114a413..1aa7078f 100644 --- a/frontend/apps/widget/src/components/MessageInput.vue +++ b/frontend/apps/widget/src/components/MessageInput.vue @@ -133,8 +133,8 @@ const sendMessageToConversation = async (messageText) => { } const sendMessage = async () => { - // Empty? - if (!newMessage.value.trim()) return + // Empty or already sending? + if (!newMessage.value.trim() || isSending.value) return // Stop typing when sending message stopTyping()