Skip to content

[Hold for payment 2024-10-06][$250] Android - expense-On opening 1st expense with 1:1 user, receipt placeholder flickers #49470

Closed

Description

@IuliiaHerets

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.38-0
Reproducible in staging?: Y
Reproducible in production?: Y
Issue reported by: Applause Internal Team

Action Performed:

  1. Launch app
  2. Login to a new gmail account
  3. Open 1: DM with a user
  4. Create a expense
  5. Open the expense
  6. Note the receipt placeholder

Expected Result:

Receipt placeholder must not flicker.

Actual Result:

Only in gmail Android app,on opening 1st expense with 1:1 user, receipt placeholder flickers.

Workaround:

Unknown

Platforms:

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

Screenshots/Videos

Bug6608645_1726737271354.screenrecorder-2024-09-19-00-42-48-602_compress_1.2.mp4

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~021837170951789576068
  • Upwork Job ID: 1837170951789576068
  • Last Price Increase: 2024-09-20
  • Automatic offers:
    • rayane-djouah | Reviewer | 104094404
    • nkdengineer | Contributor | 104094406
Issue OwnerCurrent Issue Owner: @rayane-djouah

Activity

  1. added
    BugSomething is broken. Auto assigns a BugZero manager.
    on Sep 19, 2024
  2. melvin-bot commented on Sep 19, 2024

    @melvin-bot

    Triggered auto assignment to @isabelastisser (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.

  3. IuliiaHerets commented on Sep 19, 2024

    @IuliiaHerets
    Author

    @isabelastisser FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

  4. moved this to Release 1: Spring 2024 (May) in [#whatsnext] #wave-collecton Sep 20, 2024
  5. added
    ExternalAdded to denote the issue can be worked on by a contributor
    Help WantedApply this label when an issue is open to proposals by contributors
    on Sep 20, 2024
  6. changed the title [-]Android - expense-On opening 1st expense with 1:1 user, receipt placeholder flickers[/-] [+][$250] Android - expense-On opening 1st expense with 1:1 user, receipt placeholder flickers[/+] on Sep 20, 2024
  7. melvin-bot commented on Sep 20, 2024

    @melvin-bot
  8. melvin-bot commented on Sep 20, 2024

    @melvin-bot

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

  9. rayane-d commented on Sep 23, 2024

    @rayane-d
    Contributor

    Waiting on proposals

  10. nkdengineer commented on Sep 23, 2024

    @nkdengineer
    Contributor

    Proposal

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

    Only in gmail Android app,on opening 1st expense with 1:1 user, receipt placeholder flickers.

    What is the root cause of that problem?

    Here is the log when adding a useEffect in MoneyRequestView

    useEffect(() => {
        console.log("LOGMOUNT");
        return () => {
            console.log("LOGUNMOUNT");
        }
    }, [])
    
    Screenshot 2024-09-23 at 15 34 41

    This component is mounted and unmounted several times.

    This happens because the deprecated withOnyx HOC in ReportActionsView that cause the weird lifecycle of the component

    withOnyx<ReportActionsViewProps, ReportActionsViewOnyxProps>({

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

    Remove withOnyx in ReportActionsView and use useOnyx hook instead.

    OPTIONAL: We can also do this for ReportActionsItem

    withOnyx<ReportActionsViewProps, ReportActionsViewOnyxProps>({

    The test branch here.

    What alternative solutions did you explore? (Optional)

  11. 3 remaining items

  12. removed
    Help WantedApply this label when an issue is open to proposals by contributors
    on Sep 23, 2024
  13. melvin-bot commented on Sep 23, 2024

    @melvin-bot

    📣 @rayane-djouah 🎉 An offer has been automatically sent to your Upwork account for the Reviewer role 🎉 Thanks for contributing to the Expensify app!

    Offer link
    Upwork job

  14. melvin-bot commented on Sep 23, 2024

    @melvin-bot

    📣 @nkdengineer 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app!

    Offer link
    Upwork job
    Please accept the offer and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑‍💻
    Keep in mind: Code of Conduct | Contributing 📖

  15. changed the title [-][$250] Android - expense-On opening 1st expense with 1:1 user, receipt placeholder flickers[/-] [+][Hold for payment 2024-10-06][$250] Android - expense-On opening 1st expense with 1:1 user, receipt placeholder flickers[/+] on Oct 1, 2024
  16. rayane-d commented on Oct 6, 2024

    @rayane-d
    Contributor

    BugZero Checklist

    • The PR that introduced the bug has been identified. Link to the PR: The issue was caused by the use of withOnyx, which is now deprecated. We are in the process of migrating to the useOnyx hook, so no specific PR is responsible for this bug.
    • 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: N/A
    • 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: N/A
    • Determine if we should create a regression test for this bug. While I believe this is unnecessary since the migration to the useOnyx hook should prevent this issue from reoccurring, I've included a proposal in case we decide to proceed with a regression test.
    • 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.

    Regression Test Proposal

    1. Create a new account
    2. Open a DM with a user
    3. Create an expense
    4. Open the expense
    5. Verify that the receipt placeholder does not flicker

    Do we agree 👍 or 👎

  17. isabelastisser commented on Oct 7, 2024

    @isabelastisser
    Contributor

    @thienlnam, can you please review the test proposal? Thanks!

  18. isabelastisser commented on Oct 7, 2024

    @isabelastisser
    Contributor

    @rayane-djouah @nkdengineer I processed the payments in Upwork. Thanks!

  19. isabelastisser commented on Oct 8, 2024

    @isabelastisser
    Contributor

    All set!

  20. moved this from Release 1: Spring 2024 (May) to Done in [#whatsnext] #wave-collecton Oct 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

BugSomething is broken. Auto assigns a BugZero manager.ExternalAdded to denote the issue can be worked on by a contributorWeeklyKSv2

Type

No type

Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions