-
Notifications
You must be signed in to change notification settings - Fork 310
Fix audio recording content stuck in 'held' state (XML) #6078
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
Fix audio recording content stuck in 'held' state (XML) #6078
Conversation
…tart recording completes.
…rt recording completes.
…rt recording completes.
SDK Size Comparison 📏
|
…held_xml # Conflicts: # CHANGELOG.md
WalkthroughChanges add a bug fix entry to the changelog regarding audio recording being stuck in a held state, and modify gesture event handling in the message composer to allow gesture-end actions (ACTION_UP/ACTION_CANCEL) to proceed during recording state transitions. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
📜 Recent review detailsConfiguration used: Repository UI Review profile: CHILL Plan: Pro Disabled knowledge base sources:
📒 Files selected for processing (2)
🧰 Additional context used📓 Path-based instructions (2)**/*.{kt,kts}📄 CodeRabbit inference engine (AGENTS.md)
Files:
**/*.kt📄 CodeRabbit inference engine (AGENTS.md)
Files:
🧠 Learnings (5)📓 Common learnings📚 Learning: 2025-12-17T15:00:07.506ZApplied to files:
📚 Learning: 2025-12-17T15:00:07.506ZApplied to files:
📚 Learning: 2025-12-17T15:00:07.506ZApplied to files:
📚 Learning: 2025-12-17T15:00:07.506ZApplied to files:
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (7)
🔇 Additional comments (3)
✏️ Tip: You can disable this entire section by setting 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 |
…held_xml # Conflicts: # CHANGELOG.md
|



🎯 Goal
Deferring the IO operations done in the
AudioRecordingControllerto the IO dispatcher (to resolve the StrictMode violations) introduced a race condition, where theMotionEvent.ACTION_UPis ignored, and the UI is not reset properly. (easily observable when the user taps the record button instead of holding it)Merge after: #6077
🛠 Implementation details
Add detection for the intermediate state of the
AudioRecordingController, where thestartRecordingmethod is suspended by the file creation, but the user cancels the started recording🎨 UI Changes
short_tap_xml_before.mp4
short_tap_xml_after.mp4
🧪 Testing
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.