-
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-11-09] [$500] mWeb/Safari- Chat - After tapping on "Copy to clipboard", options menu does not close #28820
Comments
Triggered auto assignment to @garrettmknight ( |
Bug0 Triage Checklist (Main S/O)
|
Not reproducible on Staging and latest |
I was able to reproduce on staging and prod - It's not the "+" button, it's a long press on any message in a DM that gets you to the options menu for the chat on mWeb. |
Job added to Upwork: https://www.upwork.com/jobs/~0153aad7aa52da20d4 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @cubuspl42 ( |
The best option would be to update the menu to use touch events. It's also possible that there may be conditional statements not capturing mobile properly. I will take a deeper dive and verify the source code in:
Would be more than happy to submit a PR. Let me know if I can work on the project. |
You're welcome to submit a proposal! Please read the contributing guidelines. Also, take a quick look at any other external issue to see how the proposal selection process looks in Expensify. |
@cubuspl42 I'll prepare a proposal shortly. Should I wait for that? Or can I submit PRs and everything will be cool? |
ProposalPlease re-state the problem that we are trying to solve in this issueThere is an issue with pointer events on mobile for Safari with the chat menu. More specifically the copy to clipboard button is not working properly. We should verify and test all buttons though. What is the root cause of that problem?After further review, we should do regression testing on all menu items that utilize:
What changes do you think we should make in order to solve the problem?We should investigate an implementation that uses However, this should be only if using regular pointer events does not resolve the issue on Safari. It may be possible to get pointer events to work properly. Will verify if possible. The following is Mozilla Documentation on Touch Events and how to implement them: https://developer.mozilla.org/en-US/docs/Web/API/Touch_events/Using_Touch_Events We would also need to verify on all web platforms that the new touch events work as intended and do not have any potential negative side effects. We should verify all major web browsers on mobile and web, as well as React Native and Desktop App too. |
From CONTRIBUTING.md:
First, precisely 1 PR is expected for most issues, if the proposal is selected. Second, the PR should be created after the proposal is selected. You are welcome to create a branch on your fork, though. It's very typical to create a branch that contains a draft of the solution when preparing a proposal. In many cases, such a draft is later a starting point of the PR (if the proposal is selected), which is then reviewed, and we iterate on it. |
@ChrisCates Congrats on writing your first proposal! As is often the case with first tries, there's a big room for improvement here. Both crucial sections of the proposal (the root cause analysis and the solution description) are not up to Expensify's standards.
How does "After further review, we should do regression testing..." answer the question "What is the root cause of that problem?"?
The investigation is what we typically do when we prepare a proposal. The proposal itself should contain a description of the solution itself. Depending on the scope of the issue, the level of detail varies. For relatively small issues (the majority), it is typical to have the full solution prepared. The proposal then contains a description of that solution. Please take a look at a dozen other issues to get a feeling of how the Expensify process works. The crucial labels are "External" and "Help wanted". Issues with "Help wanted" are open for new proposals, while the issues without "Help wanted" are typically already being handled. Here are the "External" issues without "Help wanted" (i.e. mostly the ones that are being handled). Check out the proposals that were selected for inspiration. |
ProposalPlease re-state the problem that we are trying to solve in this issueAfter tapping on "Copy to clipboard", options menu does not close and "Copy to Clipboard" isn't changed to "Copied" What is the root cause of that problem?
What changes do you think we should make in order to solve the problem?We should call setBaseAndExtent with valid arguments only , we can have a check for try {
selection.setBaseAndExtent(originalSelection.anchorNode, originalSelection.anchorOffset, originalSelection.focusNode, originalSelection.focusOffset);
}
catch (e) {
} |
Hey @cubuspl42 thanks for the feedback. Just came here. I have a question about this issue. Is this more in line with what follows Expensify's guidelines. And if not? What should change: #28078 |
@ishpaul777 Please stick to the proposal template. The headers are not meant to be modified. Thank you! |
Oh Okay! Updated proposal. |
@lanitochka17 @garrettmknight I can't reproduce on staging |
Hii @cubuspl42 , I am able to reproduce on staging trim.045354BB-9842-4811-A1B4-422978BB6A9E.MOV |
@cubuspl42 I just reproduced it on staging as well on 1.3.81-6 |
Are there any details available for this error?
Have you analyzed the surrounding code? Do we understand when the mentioned values could be |
@cubuspl42 PR is ready for review. Sorry it took so long, I had some pc issues. |
@tgolen Ouch, is it the GitHub autoclosing based on the commit message? 😳 |
Oh, hahaha, yes. I'll reopen this. |
@tgolen Do we actually use that behavior? If we don't, maybe it should be disabled in the settings? |
I don't think we use it in this repo, no. Do you know where the setting might be? I'm looking at another repo I own and I don't know where to find it. |
@tgolen I might've confused it with GitLab. It appears that on GitHub it cannot be disabled 😕 It could be worth adding a PR-level check to prevent |
Ah, I agree. I confirmed with our infra team that they don't know of a setting like that either. I think we're OK for now. It doesn't happen very often. |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.94-2 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-11-09. 🎊 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.
For reference, here are some details about the assignees on this 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:
|
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results. If a regression has occurred and you are the assigned CM follow the instructions here. If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future. |
False alarm. |
|
@garrettmknight Gentle nudge for the payment. Thanks! :) |
Summary of payments:
|
Since this is really version specific and a pretty edge case, I don't think we need a regression test. |
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:
There should be a message indicating the message has been copied and then the options menu should close
Actual Result:
There is no message indicating that the message has been copied and options menu does not close
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.3.77-2
Reproducible in staging?: Yes
Reproducible in production?: Yes
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
Bug6224644_1696427243168.Tppt3240_1_.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: