feat(queue): enqueue user message to agent_messages immediately#250
Merged
feat(queue): enqueue user message to agent_messages immediately#250
Conversation
Persist user messages to agent_messages table at enqueue time so they appear on the next poll instead of waiting for agent processing. This allows the web UI's optimistic message update to gracefully merge with polled data via message_id deduplication. Changes: - Add hasAgentMessage() helper to check for duplicates - Insert user message in messages route when agent is specified - Guard insertAgentMessage in processMessage to prevent double-insert - Pass agent ID from chat-view to sendMessage API This eliminates the gap between sending a message and it appearing in the chat history. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Persist user messages to
agent_messagesat enqueue time so they appear on the next poll instead of waiting for agent processing. This eliminates the gap between sending a message and it showing up in chat history, and allows the web UI's optimistic update to gracefully merge with polled data viamessage_iddeduplication.Changes
hasAgentMessage()helper to detect duplicates in the databaseinsertAgentMessagein the queue processor to prevent double-insertsagentID from chat-view to thesendMessageAPI callTesting
Tested locally that messages sent from the web UI now appear immediately in polled data without duplicates, and the optimistic UI update gracefully merges with real data on poll.
🤖 Generated with Claude Code