-
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
[HOLD for payment 2023-07-21] [$1000] Long Pressing on reply opens the context menu for the ReportPreview action. #21292
Comments
Triggered auto assignment to @bfitzexpensify ( |
Bug0 Triage Checklist (Main S/O)
|
ProposalPlease re-state the problem that we are trying to solve in this issue.Long Pressing on reply opens the context menu for the ReportPreview action. What is the root cause of that problem?Problem came from here: App/src/pages/home/report/ReportActionItemThread.js Lines 42 to 48 in e6c4b4e
We didn't implement the onLongPress for PressableWithoutFeedback yet, so when we long pressed, it will open the ContextMenu.
What changes do you think we should make in order to solve the problem?We should add the <PressableWithoutFeedback
onLongPress={() => {}}
onPress={() => {
Report.navigateToAndOpenChildReport(props.childReportID);
}}
accessibilityRole="button"
accessibilityLabel={`${props.numberOfReplies} ${replyText}`}
> What alternative solutions did you explore? (Optional)Add |
Job added to Upwork: https://www.upwork.com/jobs/~0164ddcb49f1eae0da |
Current assignee @bfitzexpensify is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @eVoloshchak ( |
I don't think this is a bug, it acts this way for any comment and long pressing on mobile is the equivalent of right clicking on other platforms which also open the context menu. @eVoloshchak am I missing something ? |
@ShogunFire is right, I didn't realise that was the way to right-click on an Android. The behaviour is the same, and I don't think it opening the context menu the same way as right-clicking elsewhere on the message does is unexpected. I agree this isn't a bug and I'm going to close this out. |
Sorry, I didn't understand this comment @bfitzexpensify. Can you please rephrase? Right-click and long-press are two different gestures. We can also have a long press on the web if we want.
This is wrong. This is merely a conjecture. I disagree with @ShogunFire. Can you right-click on Android or iOS? No, Right. So long pressing on the Android and iOS does not open the context menu on the reply. But is opening on Mobile web Chrome which is the bug. Did you really test it on Android or iOS and is it opening the context menu for you there? There are five platforms that we mainly focus on.
long-pressing does not apply to Desktops and Web. Similarly, Right-click does not apply to the rest of the list. Because Android mobile web has the same gesture as Android and iOS. It should behave the same which is this bug. @bfitzexpensify Let me know if you need more clarification here. |
Huh, I didn't know this! I thought they were the same thing. Appreciate the clarification. Given that, I agree that this is in fact a bug. Let's reopen. |
ProposalPlease re-state the problem that we are trying to solve in this issue.On android and ios the context menu doesn't show when we long press a reportpreview action What is the root cause of that problem?For android and ios we don't handle the long press event here: App/src/pages/home/report/ReportActionItemThread.js Lines 42 to 48 in e6c4b4e
So when we long press nothing happens because this Pressable doesn't propagate the longPress event The reason the context menu still shows when we long press on mobile web is because here:
We add a listener on the contextmenu event and this contextmenu event fires on long press on mobile web. For web it is called when we right click. For ios and android it is never called. What changes do you think we should make in order to solve the problem?Ia haven't found a solution to propagate the long press event from one pressable to his parent pressable so I think what we can do is pass a new prop onSecondaryInteraction to ReportActionItemThread like this: Result: 2023-07-02.15-45-59.mp4What alternative solutions did you explore? (Optional)
|
@eVoloshchak proposal from @ShogunFire ready for review when you get a chance |
@eVoloshchak To be honest I haven't tried my proposals, I think we should know exactly what is the expected behaviour because I am not sure the behaviour on android and ios was intentional. |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
@ShogunFire, expected result - is the same behavior on all platforms (i.e. it should show context menu on long press, as it does on mWeb Chrome)
Could you elaborate on that more please? Why is working fine on mWeb Chrome? |
Proposal |
On mWeb chrome it doesn't use the long press event to execute the secondaryinteraction it uses the context menu event that is fired by browsers. And sorry my first proposal was wrong I haven't found a way to propagate the long press event between pressable |
📣 @eVoloshchak Please request via NewDot manual requests for the Reviewer role ($1000) |
This comment was marked as off-topic.
This comment was marked as off-topic.
📣 @ShogunFire You have been assigned to this job! |
📣 @parasharrajat Please request via NewDot manual requests for the Reporter role ($250) |
This comment was marked as off-topic.
This comment was marked as off-topic.
Ready for review |
🎯 ⚡️ Woah @eVoloshchak / @ShogunFire, great job pushing this forwards! ⚡️ The pull request got merged within 3 working days of assignment, so this job is eligible for a 50% #urgency bonus 🎉
On to the next one 🚀 |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.40-5 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-07-21. 🎊 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:
|
Hello @kavimuru I have accepted the job on upwork, can you make the final paiement ? Thanks |
Payment made. @parasharrajat and @eVoloshchak are both receiving payments via New Dot. @eVoloshchak a reminder to complete the BZ checklist when you get a chance |
|
Requested reporting bonus 250. |
@bfitzexpensify Can you please summarize the appropriate individual payments for all parties involved in this issue? This is holding up @eVoloshchak's and @parasharrajat's NewDot payments. More information on this compliance process in Slack. |
Sure, @JmillsExpensify these are the payments due: @parasharrajat - $250 reporting payment |
Agreed with your reasoning re: not needing a regression test @eVoloshchak. We're good to close this out - thanks for the work everyone! |
Reviewed details for @parasharrajat and @eVoloshchak. This is accurate based on summary from Business Reviewer and approved for payment in NewDot. |
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:
reply 1
on the preview of money request in the DM.Expected Result:
It should not open the context menu on the IOU Preview like other platforms.
Actual Result:
It opens the context menu on Android chrome but other platforms does not open it.
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.30-5
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
Screen.Recording.2023-06-15.at.6.37.45.PM.mov
az_recorder_20230621_223902.1.mp4
Expensify/Expensify Issue URL:
Issue reported by: @parasharrajat
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1686834876030139
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: