Skip to content
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-03-29] [$500] Android - IOU - The "Take a photo" background animation is stuck #36551

Closed
1 of 6 tasks
kavimuru opened this issue Feb 14, 2024 · 51 comments
Closed
1 of 6 tasks
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Engineering Internal Requires API changes or must be handled by Expensify staff Weekly KSv2

Comments

@kavimuru
Copy link

kavimuru commented Feb 14, 2024

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: 1.4.41-2
Reproducible in staging?: y
Reproducible in production?: n
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: applause internal team
Slack conversation:

Action Performed:

  1. Reinstall the app
  2. Log in for the first time
  3. Tap on FAB -> Request money -> Scan

Expected Result:

The animation should be completed.

Actual Result:

The "Take a photo" background animation is stuck.

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?

  • Android: Native
  • Android: mWeb Chrome
  • iOS: Native
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

Bug6379807_1707938425262.az_recorder_20240214_160812.mp4

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01c2cca67bbda25bba
  • Upwork Job ID: 1757910328375115776
  • Last Price Increase: 2024-02-21
  • Automatic offers:
    • mollfpr | Reviewer | 0
    • aswin-s | Contributor | 0
@kavimuru kavimuru added External Added to denote the issue can be worked on by a contributor Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Feb 14, 2024
@melvin-bot melvin-bot bot changed the title Android - IOU - The "Take a photo" background animation is stuck [$500] Android - IOU - The "Take a photo" background animation is stuck Feb 14, 2024
Copy link

melvin-bot bot commented Feb 14, 2024

Job added to Upwork: https://www.upwork.com/jobs/~01c2cca67bbda25bba

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Feb 14, 2024
Copy link

melvin-bot bot commented Feb 14, 2024

Triggered auto assignment to Contributor-plus team member for initial proposal review - @mollfpr (External)

Copy link

melvin-bot bot commented Feb 14, 2024

Triggered auto assignment to @kevinksullivan (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

@kavimuru kavimuru added the DeployBlockerCash This issue or pull request should block deployment label Feb 14, 2024
@github-actions github-actions bot added Engineering Hourly KSv2 and removed Daily KSv2 labels Feb 14, 2024
Copy link
Contributor

👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

  1. Identify the pull request that introduced this issue and revert it.
  2. Find someone who can quickly fix the issue.
  3. Fix the issue yourself.

Copy link

melvin-bot bot commented Feb 14, 2024

Triggered auto assignment to @marcaaron (Engineering), see https://stackoverflowteams.com/c/expensify/questions/9980/ for more details.

@marcaaron
Copy link
Contributor

Hmm I have no idea. Seems like it could be related to expo-image. The code where this is rendered is here:

https://github.com/Expensify/App/blame/0381d57ab7a127371cdea766e118ce0290be1eaf/src/pages/iou/request/step/IOURequestStepScan/index.native.js#L279-L285

With the most recent change to the file being in this PR (which is on staging).

@marcaaron
Copy link
Contributor

Doesn't really seem related to those changes though.

@kavimuru Can we try to re-test this on other Android devices?

I am curious if this is an expo-image issue.

cc @Beamanator I think this is not a blocker. The flow looks pretty good on Android without the animation so I think we can pursue a fix without blocking the deploy.

@marcaaron marcaaron added Daily KSv2 and removed DeployBlockerCash This issue or pull request should block deployment Hourly KSv2 labels Feb 14, 2024
@marcaaron
Copy link
Contributor

FWIW I was able to repro this. But don't think it looks that bad so removed the blocker.

@aswin-s
Copy link
Contributor

aswin-s commented Feb 15, 2024

Proposal

Please re-state the problem that we are trying to solve in this issue.

Navigation to RequestMoneyStartPage is stuck when camera permission is requested

What is the root cause of that problem?

This is related to #35640 where we are requesting camera permission on page load.

refreshCameraPermissionStatus(true);

However we are not waiting for the navigation animation to finish before requesting for camera permission. This causes the animation to freeze in between.

What changes do you think we should make in order to solve the problem?

Run permission check only after screen animation is finished. For this useFocusEffect instead of useEffect in combination with InteractionManager.runAfterInteractions. This ensures that permission check is triggered only after animation is finished.

useFocusEffect( useCallback(() => {
  // Check initial camera permission status
   InteractionManager.runAfterInteractions(() => {
     refreshCameraPermissionStatus(true);
   });
 }))

This ensures that screen animation is not interupted

What alternative solutions did you explore? (Optional)

None

@ikevin127
Copy link
Contributor

If this is indeed a regression from PR #35640 I think the PR author should handle the regression fix ♻️

@mollfpr
Copy link
Contributor

mollfpr commented Feb 16, 2024

If this is indeed a regression from PR #35640 I think the PR author should handle the regression fix ♻️

I'm not sure about this, but my understanding is that @marcaaron stated this wasn't regression from that PR.

I also check that the PR recordings on Android seem working just fine. @aswin-s What's the different in this issue?

@melvin-bot melvin-bot bot added the Overdue label Feb 19, 2024
Copy link

melvin-bot bot commented Feb 20, 2024

@kevinksullivan, @mollfpr, @marcaaron Whoops! This issue is 2 days overdue. Let's get this updated quick!

@mollfpr
Copy link
Contributor

mollfpr commented Feb 20, 2024

I also check that the PR recordings on Android seem working just fine. @aswin-s What's the different in this issue?

Friendly bump @aswin-s

@melvin-bot melvin-bot bot added the Overdue label Mar 11, 2024
@mollfpr
Copy link
Contributor

mollfpr commented Mar 12, 2024

untitled.1.mp4

I still can see the screen stuck a little bit.

@melvin-bot melvin-bot bot removed the Overdue label Mar 12, 2024
@aswin-s
Copy link
Contributor

aswin-s commented Mar 12, 2024

@mollfpr Ok, I'll raise the PR shortly

Copy link

melvin-bot bot commented Mar 13, 2024

@aswin-s @kevinksullivan @mollfpr @marcaaron this issue is now 4 weeks old and preventing us from maintaining WAQ, can you:

  • Decide whether any proposals currently meet our guidelines and can be approved as-is today
  • If no proposals meet that standard, please take this issue internal and treat it as one of your highest priorities
  • If you have any questions, don't hesitate to start a discussion in #expensify-open-source

Thanks!

@melvin-bot melvin-bot bot added Internal Requires API changes or must be handled by Expensify staff and removed External Added to denote the issue can be worked on by a contributor labels Mar 13, 2024
Copy link

melvin-bot bot commented Mar 13, 2024

Current assignee @mollfpr is eligible for the Internal assigner, not assigning anyone new.

@melvin-bot melvin-bot bot added Reviewing Has a PR in review Weekly KSv2 and removed Daily KSv2 labels Mar 14, 2024
@melvin-bot melvin-bot bot added Weekly KSv2 Awaiting Payment Auto-added when associated PR is deployed to production and removed Weekly KSv2 labels Mar 22, 2024
@melvin-bot melvin-bot bot changed the title [$500] Android - IOU - The "Take a photo" background animation is stuck [HOLD for payment 2024-03-29] [$500] Android - IOU - The "Take a photo" background animation is stuck Mar 22, 2024
@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label Mar 22, 2024
Copy link

melvin-bot bot commented Mar 22, 2024

Reviewing label has been removed, please complete the "BugZero Checklist".

Copy link

melvin-bot bot commented Mar 22, 2024

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.55-3 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-03-29. 🎊

For reference, here are some details about the assignees on this issue:

Copy link

melvin-bot bot commented Mar 22, 2024

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:

  • [@mollfpr] The PR that introduced the bug has been identified. Link to the PR:
  • [@mollfpr] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
  • [@mollfpr] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
  • [@mollfpr] Determine if we should create a regression test for this bug.
  • [@mollfpr] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
  • [@kevinksullivan] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

@melvin-bot melvin-bot bot added the Overdue label Apr 1, 2024
@mollfpr
Copy link
Contributor

mollfpr commented Apr 1, 2024

[@mollfpr] The PR that introduced the bug has been identified. Link to the PR:
[@mollfpr] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:

I don't think any PR is causing the issue.

[@mollfpr] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:

The regression step should be enough.

[@mollfpr] Determine if we should create a regression test for this bug.
[@mollfpr] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.

  1. Reinstall the app on a native device
  2. Log in for the first time
  3. Tap on FAB -> Request money -> Scan
  4. Verify that the screen transition animation is smooth and not interrupted in the middle by the camera permission dialog
  5. 👍 or 👎

@kevinksullivan Could you create the payment summary? Thank you!

@melvin-bot melvin-bot bot removed the Overdue label Apr 1, 2024
@mollfpr
Copy link
Contributor

mollfpr commented Apr 10, 2024

Friendly bump @kevinksullivan

1 similar comment
@mollfpr
Copy link
Contributor

mollfpr commented Apr 16, 2024

Friendly bump @kevinksullivan

@aswin-s
Copy link
Contributor

aswin-s commented Apr 24, 2024

@kevinksullivan Gentle reminder

@kevinksullivan
Copy link
Contributor

Payment summary:

@JmillsExpensify
Copy link

$500 approved for @mollfpr

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Engineering Internal Requires API changes or must be handled by Expensify staff Weekly KSv2
Projects
None yet
Development

No branches or pull requests

10 participants