feat(web): edit and remove queued messages - #11959
DominicVonk wants to merge 2 commits into
Conversation
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This PR adds user-facing edit/remove behavior for queued messages and changes existing cancel semantics while interacting with shared composer attachment state. An unresolved High-severity finding identifies a possible mismatch where an image can be uploaded despite being absent from the composer UI, so the change needs human review. Not approved because:
Adjust the Minimum Blocking Severity for this repo — including turning it Off — in Settings. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 8 remain after this review. 📝 WalkthroughWalkthroughQueued messages can now be edited from the timeline. Editing removes the message from the queue, restores its prompt and attachments to the composer, and focuses the composer. Removal also revokes image preview URLs. ChangesQueued message editing
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~12 minutes Change: Feature Sequence Diagram(s)sequenceDiagram
participant User
participant QueuedMessageTimelineRow
participant ChatView
participant queuedMessageActionRef
participant Composer
User->>QueuedMessageTimelineRow: Select edit action
QueuedMessageTimelineRow->>ChatView: Invoke onEditQueuedMessage(id)
ChatView->>queuedMessageActionRef: Remove queued message
queuedMessageActionRef-->>ChatView: Return prompt and attachments
ChatView->>Composer: Restore prompt and attachments
ChatView->>Composer: Focus composer
Suggested reviewers: Merge Risk: ⚪ Minimal · up to The queued-message edit and removal flows preserve accepted attachments and clean up previews without an established merge-blocking regression. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
Reviewed CodeRabbit's docstring coverage warning. No extra callback documentation was added: AGENTS.md asks us to avoid narrating behavior already clear from code and to keep local explanations beside the relevant logic. The attachment restore now has a focused comment explaining why send refs must be read synchronously from the accepted draft state. |
What Changed
Queued messages now have separate Edit and Remove actions in web and desktop. Edit returns the message, attachments, and context to the composer and focuses it; existing draft text is preserved. Remove discards the queued message without restoring it and releases its image preview URLs.
Why
The queue previously exposed only Send now and a cancel action that returned content to the composer. Editing is now explicit, and Remove actually removes the message.
UI Changes
Watch the 25-second recording: queue → edit → requeue → remove (MP4)
The recording shows a real active test turn: queue a message, click the pencil to restore and focus it, change its text, requeue it, then remove it while preserving a separate composer draft.
The stills use the same held-message fixture against the base and changed UI. Mobile has its own existing queue-editing flow; no server, provider, or contract changes are needed.
Validation
Checklist
Implemented with GPT-6 in Codex.
Summary by CodeRabbit