Skip to content

Conversation

@roomote
Copy link

@roomote roomote bot commented Oct 18, 2025

Summary

This PR fixes the issue where users cannot select answers or send messages when using Roo Cloud on mobile devices (both the app and browsers like Safari/Chrome).

Problem

Users reported being unable to:

  • Select answers from follow-up questions
  • Send messages via the input field
  • Click on any interactive buttons

This was affecting all Roo Cloud mobile users.

Solution

Added proper touch event handling to all interactive UI components:

Changes Made:

  1. Button Component (webview-ui/src/components/ui/button.tsx)

    • Added touch-manipulation CSS class for better mobile responsiveness
  2. FollowUpSuggest Component (webview-ui/src/components/chat/FollowUpSuggest.tsx)

    • Added onTouchEnd handlers to prevent ghost clicks on mobile
    • Ensured clipboard copy button is accessible on touch devices
    • Added proper accessibility attributes (role="button", tabIndex={0})
  3. ChatTextArea Component (webview-ui/src/components/chat/ChatTextArea.tsx)

    • Added touch event handlers to all interactive buttons (send, image, enhance, cancel, stop TTS)
    • Prevented default touch behavior to avoid conflicts with click events

Testing

  • ✅ All existing tests pass
  • ✅ Linting passes
  • ✅ Type checking passes

Related Issue

Fixes #8720

Checklist

  • Code follows the project's style guidelines
  • Self-review completed
  • Tests pass locally
  • No new warnings introduced
  • Changes are backward compatible

Important

Improves mobile touch event handling in Roo Cloud by adding touch event handlers and updating CSS for better responsiveness.

  • Behavior:
    • Fixes touch event handling for mobile in ChatTextArea.tsx, FollowUpSuggest.tsx, and button.tsx.
    • Adds onTouchEnd handlers to prevent ghost clicks and ensure proper interaction.
    • Adds touch-manipulation CSS class for better mobile responsiveness.
  • Components:
    • ChatTextArea.tsx: Adds touch event handlers to buttons (send, image, enhance, cancel, stop TTS) and prevents default touch behavior.
    • FollowUpSuggest.tsx: Adds onTouchEnd handlers to buttons and ensures accessibility attributes are set.
    • button.tsx: Updates button styles to include touch-manipulation class.
  • Misc:

This description was created by Ellipsis for 6b4d64a. You can customize this summary. It will automatically update as commits are pushed.

- Added touch-manipulation CSS to Button component for better mobile responsiveness
- Added onTouchEnd handlers to FollowUpSuggest buttons to prevent ghost clicks
- Added touch event handlers to all interactive buttons in ChatTextArea
- Ensured clipboard copy button in follow-up suggestions is accessible on mobile

This fixes the issue where users couldn't select answers or send messages on Roo Cloud mobile interface.
@roomote roomote bot requested review from cte, jr and mrubens as code owners October 18, 2025 16:52
@dosubot dosubot bot added size:M This PR changes 30-99 lines, ignoring generated files. bug Something isn't working labels Oct 18, 2025
@roomote
Copy link
Author

roomote bot commented Oct 18, 2025

Code Review Summary

I've reviewed the pull request and identified the following issue that should be addressed:

  • Keyboard accessibility issue in FollowUpSuggest.tsx: The clipboard copy button is made keyboard-focusable with role="button" and tabIndex={0}, but lacks keyboard event handlers (onKeyDown/onKeyPress) to handle Enter/Space key activation. This creates a keyboard trap where users can focus the element but cannot activate it.

Comment on lines +159 to +160
role="button"
tabIndex={0}>
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding role="button" and tabIndex={0} makes this element keyboard-focusable, but without keyboard event handlers (onKeyDown/onKeyPress for Enter/Space keys), keyboard users can focus it but cannot activate it. This creates a keyboard accessibility issue. Add keyboard handlers that mirror the onClick/onTouchEnd behavior.

@hannesrudolph hannesrudolph added the Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. label Oct 18, 2025
@github-project-automation github-project-automation bot moved this from New to Done in Roo Code Roadmap Oct 24, 2025
@github-project-automation github-project-automation bot moved this from Triage to Done in Roo Code Roadmap Oct 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. size:M This PR changes 30-99 lines, ignoring generated files.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[BUG] Can’t select answers or send messages in Roo Cloud tasks

2 participants