-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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: show main composer when there is no focused draft #23618
Conversation
CC @HezekielT in case you wanna help with the reviews. |
src/libs/openReportActionComposeViewWhenClosingMessageEdit/index.native.js
Outdated
Show resolved
Hide resolved
src/libs/openReportActionComposeViewWhenClosingMessageEdit/index.native.js
Outdated
Show resolved
Hide resolved
@s-alves10 In |
src/libs/setShouldShowMainComposeInputKeyboardAware/index.native.js
Outdated
Show resolved
Hide resolved
Updated |
Will you take a look again? |
Please take a look again. Thank you |
@s-alves10 Thanks! Overall code looks good. Will test this asap. In the time being please update the details section to use the cases from here #17531 (comment). Saying "Edit message A" indicates that the user has to actually edit the message and save it but it's not the case here. |
Details section updated based on #17531 (comment) |
Reviewer Checklist
Screenshots/VideosMobile Web - Chromemweb-chrome.mp4Mobile Web - Safarimweb-safari.mp4iOSios.mp4Androidandroid.mp4 |
Sorry I missed the commit. I think we have a race condition problem:
|
Is that what you tested? I'm afraid you're over-engineering. Also, I think there is no such case you mentioned #23618 (comment) If |
This is not true. If the message A wasn't focused then we have nothing to say, we can't deduct the status of the composer. There is a case where message A wasn't focused and the composer was hidden which is the emoji picker case.
|
I've tested the above scenario, but I didn't see the situation. Did you test on your side? |
@s-alves10 It's a race condition. The only reason the bug is not reproducible because |
This is a general operation. If this is the case, we are not able to rely on useState hook because its returned setter is async. Moreover, that would beyond the scope of this issue. |
Please share your idea regarding #23618 (comment) and #23618 (comment) cc @s77rt |
@s-alves10 After discussion, we want to handle the emoji picker case separately, can you please revert the last commit? |
Reverted |
@s-alves10 Thank you |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! 🚀
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, just a quick question. Thanks for the quick work. 🎉
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
@s-alves10 @HezekielT Created an issue for the bug highlighted here, feel free to share proposals on the issue if you are interested, thanks. |
🚀 Deployed to staging by https://github.com/techievivek in version: 1.3.48-0 🚀
|
🚀 Deployed to production by https://github.com/puneetlath in version: 1.3.48-5 🚀
|
🚀 Deployed to staging by https://github.com/techievivek in version: 1.3.49-0 🚀
|
🚀 Deployed to production by https://github.com/Beamanator in version: 1.3.49-3 🚀
|
Details
Case 1
Case 2
Both issues happen on mobile platforms
Fixed Issues
$ #17531
PROPOSAL: #17531 (comment)
Tests
All tests should be done only on mWeb and native platforms
Offline tests
All tests should be done only on mWeb and native platforms
QA Steps
All tests should be done only on mWeb and native platforms
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Web
17531_mac_chrome.mp4
Mobile Web - Chrome
17531_android_chrome.mp4
Mobile Web - Safari
17531_ios_safari.mp4
Desktop
17531_mac_desktop.mp4
iOS
17531_ios_native.mp4
Android
17531_android_native.mp4