Add focus request handling to MessageComposer for improved user exper… #5822
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🎯 Goal
Introduce a mechanism to programmatically request focus on the message input field when a MessageAction is triggered, improving UX in actions like replying, editing, or thread replies.
🛠 Implementation details
focusRequestFlow
inMessageComposerViewModel
to emit one-shot focus events.MessageComposer
composable using LaunchedEffect to request focus and show the keyboard.This can be further improved by passing a focusRequester as a parameter in the input (along with the state), but that would require changes in many places, which is why I avoided it and added the mechanism only to the default input.
Let me know if there are better places to add this in the Compose code. I believe it's better to provide an option to pass/access for Modifier or FocusRequester for Message Input.
🎨 UI Changes
Add relevant videos
Record_2025-06-10-19-33-08.mp4
Record_2025-06-10-19-24-27.mp4
🧪 Testing
☑️Contributor Checklist
General
Code & documentation
☑️Reviewer Checklist
🎉 GIF
Please provide a suitable gif that describes your work on this pull request