-
Notifications
You must be signed in to change notification settings - Fork 1.6k
[WIP] Support Queued Messages and Interjection #1586
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Integrates message queuing functionality into the chat interface, allowing users to queue messages when the agent is busy. Introduces an interjection mechanism (Alt+Enter) to immediately process a new message by canceling the current task and placing the interjected message at the front of the queue. - **ChatTextArea.tsx**: Adds props for queued messages, interjection handler, and queue controls. Modifies `onSend` to always call the parent handler, letting `ChatView` manage queuing. Implements Alt+Enter for interjection. - **ChatView.tsx**: Introduces `useQueuedMessages` hook to manage message queue state. Modifies `handleSendMessage` to add messages to the queue if `sendingDisabled`. Adds `handleInterjection` to cancel current task and add message to front of queue. Updates `handleCancelButtonClick` to pause the queue. - **IconButton.tsx**: Moves `IconButton` component to `webview-ui/src/components/ui/` for better reusability. - **ModeSelector.tsx**, **TaskActions.tsx**: Updates import paths for `IconButton`. - **ChatTextArea.spec.tsx**: Adds tests for Alt+Enter interjection behavior.
The `onEditQueuedMessage` prop and related logic have been removed from `ChatTextArea`, `QueuedMessageList`, and `QueuedMessageRow` components. This functionality was not being used and simplifying the message queue components. Additionally, unused comments and a `maxHeight` constant were removed from `QueuedMessageList` and `useQueuedMessages` to clean up the codebase.
🦋 Changeset detectedLatest commit: e0ec07d The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing Touches🧪 Generate unit tests
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
…eue controls Consolidated QueuedMessageListExample stories into QueuedMessageList.stories.tsx for better organization. Added pause/resume queue functionality to QueuedMessageListExample to demonstrate interactive queue management. Removed redundant QueuedMessageListExample.stories.tsx file.
|
Roo added this!! 🎉 RooCodeInc/Roo-Code#6167 Closing my version for now to coordinate the new implementation. The interjection could still be ported! |
Context
Implementation
Screenshots
How to Test
Get in Touch