fix: don't focus composer if emoji picker is opened#30483
fix: don't focus composer if emoji picker is opened#30483flodnv merged 4 commits intoExpensify:mainfrom
Conversation
|
@cubuspl42 Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
@s-alves10 When describing tests with users "A" and "B", note in the "Tests" section which users have to be logged-in on the app built from the PR branch. |
|
I'm sorry but I didn't understand you. You mean put them in quotes? |
|
@s-alves10 I'm sorry, I'm a bit sleepy it appears. I thought your test describes a multi-user scenario (for user A and user B). Nevermind. |
|
QA Steps should also mention that the expected results are only for web/desktop |
Reviewer Checklist
Screenshots/VideosWebfocus-emoji-picker-web.mp4Mobile Web - ChromeMobile Web - SafariDesktopfocus-emoji-picker-desktop.mp4iOSAndroid |
|
Actually, I noticed a behavior that's worrying: composer-flicker-1.movCan you see that the composer for message "bbb" flickers when the emoji picker for message "aaa" is opened? |
|
I don't think that isn't an issue, also I can't reproduce it. Is that desktop? |
|
@s-alves10 It's Web, tested on Chrome and Firefox. Are you sure you're clicking the composers in the exactly same order? |
|
I found the reason. When modal hide, we set App/src/pages/home/report/ReportActionItemMessageEdit.js Lines 435 to 438 in eef8347 to This works fine. Please check |
|
@s-alves10 Please fix conflicts |
|
Conflicts were resolved |
|
@s-alves10 No we have this: focus-issue-1.mp4 |
|
The issue you mentioned is producible in staging as well. Looks like beyond the scope of this issue |
|
@s-alves10 You're right, this is not related to this PR |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/flodnv in version: 1.3.94-0 🚀
|
1 similar comment
|
🚀 Deployed to staging by https://github.com/flodnv in version: 1.3.94-0 🚀
|
|
🚀 Deployed to production by https://github.com/Beamanator in version: 1.3.94-2 🚀
|
|
🚀 Deployed to staging by https://github.com/flodnv in version: 1.3.95-0 🚀
|
| * Create a function that focuses the composer. | ||
| */ | ||
| function focusWithDelay(textInput: TextInput | null): FocusWithDelay { | ||
| function focusComposerWithDelay(textInput: TextInput | null): FocusComposerWithDelay { |
There was a problem hiding this comment.
Why is the name change required? we still have the option to pass the textInput ref, it is possible the input component not be the composer we are trying to focus always.
|
🚀 Deployed to production by https://github.com/puneetlath in version: 1.3.95-9 🚀
|
Details
Don't focus the composer when emoji picker is visible
Fixed Issues
$ #30119
PROPOSAL: #30119 (comment)
Tests
Note: Tests are only for web and desktop
Offline tests
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)myBool && <MyComponent />.src/languages/*files and using the translation methodWaiting for Copylabel for a copy review on the original GH to get the correct copy.STYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)/** comment above it */thisproperly so there are no scoping issues (i.e. foronClick={this.submit}the methodthis.submitshould be bound tothisin the constructor)thisare necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);ifthis.submitis never passed to a component event handler likeonClick)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
30119_android_native.mp4
Android: mWeb Chrome
30119_android_chrome.mp4
iOS: Native
30119_ios_native.mp4
iOS: mWeb Safari
30119_ios_safari.mp4
MacOS: Chrome / Safari
30119_mac_chrome.mp4
MacOS: Desktop
30119_mac_desktop.mp4