Fix ChatGPT send detection for current Android UI - #7
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughSend-target detection now recognizes accessibility action labels and localized ChatGPT send labels. The accessibility service accepts semantic child nodes and searches up to eight composer ancestors for the clickable target. Tests cover localized labels, negative matches, and action-label-only matching. ChangesChatGPT send-target detection
Estimated code review effort: 3 (Moderate) | ~20 minutes Mergeability Score: 🔵 Low · up to The change improves Send detection across current ChatGPT UI variants, but broader matching could activate an unrelated nearby control in an ambiguous accessibility hierarchy. The PR is mergeable with explicit owner awareness and follow-up validation that ambiguous layouts fail open. Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Send promptand Korean labelsRoot cause
On a Galaxy Z Fold8 with the current ChatGPT Android app, Enter reached the accessibility service and the focused editable composer was found, but
findSendButtonNearComposerreturnedAbsent. The current UI no longer exposes the Send control in only the shapes accepted by the existing matcher: the exact semantic identity can useSend prompt, a localized label, an accessibility action label, or a nested icon node separated from the clickable ancestor.The matcher still requires an enabled supported app, exactly one focused editable composer, and exactly one visible, enabled Send target near that composer. It continues to fail open when the target is missing or ambiguous and does not inspect message text.
Fixes #6.
Validation
./gradlew clean testDebugUnitTest lintDebug assembleDebugsemantic Send button not found nearbySummary by CodeRabbit
New Features
Bug Fixes