-
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 2024-12-19] [$250] Can't click Pay buttons when the edit composer is focused #53140
Comments
Triggered auto assignment to @adelekennedy ( |
@DylanDylann discovered this bug while reviewing #51172 |
I have more context with focus input while working on #51172. Could I take over this issue as C+ if it is external |
ProposalPlease re-state the problem that we are trying to solve in this issue.Pressing the pay button does nothing when the edit composer is focused and a keyboard is shown. What is the root cause of that problem?The root cause is the same as this old issue. When we press the pay button, the edit composer is blurred which triggers the main composer visibility, moving the view up, so the press event isn't caught by the button. App/src/pages/home/report/ReportActionItemMessageEdit.tsx Lines 546 to 553 in c4ff235
What changes do you think we should make in order to solve the problem?We have a few options. First, we can follow the same approach as #12715, that is by adding
for the button. However, we need to apply this to all buttons/pressable in the chat list, including the reply text, etc. The other solution is to delay showing the main composer.
App/src/libs/setShouldShowComposeInputKeyboardAware/index.ts Lines 4 to 6 in c4ff235
or we can delay it using interaction manager and App/src/pages/home/report/ReportActionItemMessageEdit.tsx Lines 529 to 533 in c4ff235
|
Job added to Upwork: https://www.upwork.com/jobs/~021862984432318114296 |
Current assignee @DylanDylann is eligible for the External assigner, not assigning anyone new. |
@DylanDylann one proposal to review! |
@bernhardoj Could you explain why your first solution will solve this bug? |
With the first solution, if we apply the prevent default on many pressable elements, pressing that element won't blur the edit composer, thus the main composer won't show and push the content above. I prefer the other solution though to use 0 timeout. This would make it closer to the native which waits for the keyboard to hide. |
As your explaination, when we click on the button, the keyboard is hidden and the position of the button is changed. If it is correct, why this bug doesn't happen on the main composer |
I think it's just because for edit composer case, the edit composer moves the view instantly, so the mouse up isn't received anymore by the pressable which receives the first mouse down event. The press happens if the element receives both mouse down and up. You can try attaching |
I mean that we need to clarify why there are differences between edit composer and main composer |
The second solution looks fine but I want to make clear RCA to make sure that your fix is correct and doesn't cause any regression |
This is the difference
|
@bernhardoj's proposal looks good to me. Let's use setTimeout 0 🎀 👀 🎀 C+ Reviewed |
Triggered auto assignment to @Beamanator, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
PR is ready cc: @DylanDylann |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.74-8 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 2024-12-19. 🎊 For reference, here are some details about the assignees on this issue:
|
@DylanDylann @adelekennedy @DylanDylann The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button] |
BugZero Checklist:
Bug classificationSource of bug:
Where bug was reported:
Who reported the bug:
Regression Test Proposal Template
Regression Test ProposalPrecondition:Test:Do we agree 👍 or 👎 |
@DylanDylann for the checklist above! |
Contributor: @bernhardoj paid $250 via NewDot |
Requested in ND. |
$250 approved for @bernhardoj |
BugZero Checklist:
Bug classificationSource of bug:
Where bug was reported:
Who reported the bug:
Regression Test ProposalTest:
Do we agree 👍 or 👎 |
@Beamanator, @bernhardoj, @adelekennedy, @DylanDylann Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
created issue! |
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Version Number: 9.0.66-7
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?:
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
Expensify/Expensify Issue URL:
Issue reported by: @DylanDylann
Slack conversation (hyperlinked to channel name): ts_external_expensify_bugs
Action Performed:
Expected Result:
Click buttons should work normally
Actual Result:
Can't click buttons when the edit composer is focused
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Screen.Recording.2024-11-26.at.10.25.56.mov
Edit.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @Issue Owner
Current Issue Owner: @DylanDylannThe text was updated successfully, but these errors were encountered: