-
Notifications
You must be signed in to change notification settings - Fork 3k
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
[HOLD for payment 2023-05-25] [$1000] Input field flickers on sending long messages. #18238
Comments
Triggered auto assignment to @michaelhaxhiu ( |
Bug0 Triage Checklist (Main S/O)
|
@michaelhaxhiu Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
Replicated on my android testing device. I'm pushing to |
Job added to Upwork: https://www.upwork.com/jobs/~016ac49814e372be6c |
Current assignee @michaelhaxhiu is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to @Christinadobrzyn ( |
Bug0 Triage Checklist (Main S/O)
|
Triggered auto assignment to Contributor-plus team member for initial proposal review - @mollfpr ( |
Triggered auto assignment to @yuwenmemon ( |
@Christinadobrzyn I didn't check the final box because I think it's ideal for the next BZ to do so!
|
ProposalPlease re-state the problem that we are trying to solve in this issue.Composer height is flickering when sending multiline message, only on Android. What is the root cause of that problem?If we look carefully at the video, we can see that the composer is expanding for a glimpse even though the composer is empty and then back to the normal height. The height expand because the Expand button (the arrow icon) is showing. The expand icon will show if
In conclusion, when the number of lines is >= 3, we will show the expand button. However, from the video we can see that after we send the message, we still show the expand button even though the number of lines should be 1 because the input is now empty. After doing some testing, I found that this is a bug of Android when we set max height to a TextInput. To reproduce the bug, we need to type multiline text until it's overflow (more lines than the max height), in this case I think 6/7 lines are enough. When we clear the input (programmatically), it will trigger So, when we send the message, here is what happens:
This make the composer flickers. This issue also maybe related to the open issue here which has been open for > 2 years. What changes do you think we should make in order to solve the problem?We can add another condition to check if the composer full size is available by checking if the content of the text is not empty. Example:
This way, we will only set isFullComposerAvailable to true if the composer is not empty. Then we replace all usage of Result Screen.Recording.2023-05-11.at.21.33.47.mov |
@bernhardoj Thanks for the proposal. You've the right root cause, but could you attach a video result regarding your proposal? |
@mollfpr Added the video result |
Thanks, @bernhardoj! I have tested your solution and it seems that the expandable button is still displayed after the input is cleared, and it makes the composer not resize properly. Your solution is reasonable and it fixes the issue. @yuwenmemon We can go with @bernhardoj's proposal! 🎀 👀 🎀 C+ reviewed! |
📣 @bernhardoj You have been assigned to this job by @yuwenmemon! |
PR is ready |
🎯 ⚡️ Woah @mollfpr / @bernhardoj, great job pushing this forwards! ⚡️ The pull request got merged within 2 working days of assignment, so this job is eligible for a 50% #urgency bonus 🎉
On to the next one 🚀 |
Hired in Upwork - job posting - https://www.upwork.com/jobs/~016ac49814e372be6c
|
@Christinadobrzyn Applied |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.15-12 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue: If no regressions arise, payment will be issued on 2023-05-25. 🎊 After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.
As a reminder, here are the bonuses/penalties that should be applied for any External issue:
|
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
Hey @mollfpr What are you thinking for a regression test? I'm not 100% if we need one, what do you think? |
No offending PR. This was caused by a lingering issue from RN where
https://expensify.slack.com/archives/C049HHMV9SM/p1684990508491559
It's not a pretty bug, so, yes, please!
Propose regression step
|
Thanks @mollfpr!
|
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Action Performed:
Expected Result
Input field (observe green border) should not flicker on sending long messages.
Actual Result
Input field (observe green border) flickers on sending long messages.
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.3.8.8
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Bug.mp4
az_recorder_20230501_134954.1.mp4
Expensify/Expensify Issue URL:
Issue reported by: @usmantariq96
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1682944586188219
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: