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-04-05] Sign up - Hmmm its not here page is displayed for a moment on sign up #38826

Closed
1 of 6 tasks
lanitochka17 opened this issue Mar 22, 2024 · 20 comments
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Engineering Weekly KSv2

Comments

@lanitochka17
Copy link

lanitochka17 commented Mar 22, 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.56-0
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers): natnael.expensify+3@gmail.com
Issue reported by: Applause - Internal Team

Action Performed:

  1. Navigate to sing up page
  2. Sign up with a new account

Expected Result:

Hmmm its not here page shouldn't be displayed momentarily

Actual Result:

Hmmm its not here page is displayed momentarily

Workaround:

Unknown

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

Bug6423417_1711127371542.Screen_Recording_2024-03-22_at_8.06.33_in_the_evening.mp4

View all open jobs on GitHub

@lanitochka17 lanitochka17 added the DeployBlockerCash This issue or pull request should block deployment label Mar 22, 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 Mar 22, 2024

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

@lanitochka17
Copy link
Author

@deetergp 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

@lanitochka17
Copy link
Author

We think that this bug might be related to #wave-collect - Release 1

@nkdengineer
Copy link
Contributor

nkdengineer commented Mar 22, 2024

Proposal

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

Members added and deleted offline are grayed out but strikethrough is not applied

What is the root cause of that problem?

Regression from #30269

After we sign in, reportIDFromRoute is 0 string and then the not found page display with this condition.

(!!reportIDFromRoute && !ReportUtils.isValidReportIDFromPath(reportIDFromRoute)),

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

To correctly, we should get the current reportID from params to check, if it's undefined that mean we're getting the reportID to display and then skeleton view can be displayed.

const reportIDFromParams =route.params?.reportID;

// eslint-disable-next-line rulesdir/no-negated-variables
const shouldShowNotFoundPage = useMemo(
    (): boolean =>
        (!wasReportAccessibleRef.current &&
            !firstRenderRef.current &&
            !report.reportID &&
            !isOptimisticDelete &&
            !reportMetadata?.isLoadingInitialReportActions &&
            !isLoading &&
            !userLeavingStatus) ||
        shouldHideReport ||
        (!!reportIDFromParams && !ReportUtils.isValidReportIDFromPath(reportIDFromParams)),
    [report, reportMetadata, isLoading, shouldHideReport, isOptimisticDelete, userLeavingStatus, reportIDFromParams],
);

What alternative solutions did you explore? (Optional)

NA

@dukenv0307
Copy link
Contributor

I reported this bug in Slack here https://expensify.slack.com/archives/C049HHMV9SM/p1711123380240439. I can take over this as C+ if it's necessary.

@ishpaul777
Copy link
Contributor

I think we just need to seperate !isloading to a seperate required conditional

const shouldShowNotFoundPage = useMemo(
(): boolean =>
(!wasReportAccessibleRef.current &&
!firstRenderRef.current &&
!report.reportID &&
!isOptimisticDelete &&
!reportMetadata?.isLoadingInitialReportActions &&
!isLoading &&
!userLeavingStatus) ||
shouldHideReport ||
(!!reportIDFromRoute && !ReportUtils.isValidReportIDFromPath(reportIDFromRoute)),
[report, reportMetadata, isLoading, shouldHideReport, isOptimisticDelete, userLeavingStatus, reportIDFromRoute],
);

                !isLoading && (!wasReportAccessibleRef.current &&
                !firstRenderRef.current &&
                !report.reportID &&
                !isOptimisticDelete &&
                !reportMetadata?.isLoadingInitialReportActions &&
                !userLeavingStatus) ||
                shouldHideReport ||
                (!!reportIDFromRoute && !ReportUtils.isValidReportIDFromPath(reportIDFromRoute)),

cc @perunt @roryabraham

@roryabraham
Copy link
Contributor

roryabraham commented Mar 23, 2024

I think we just need to seperate !isloading to a seperate required conditional

Tried this, doesn't appear to work.

edit: it works, I just had to move the parens around a bit

@ishpaul777
Copy link
Contributor

It should work with a slight variation !isLoading && (all other conditonal)

Screen.Recording.2024-03-23.at.2.41.48.PM.mov

@roryabraham
Copy link
Contributor

exactly, got it. Putting up a PR now. @ishpaul777 you can review as C+ since this was a regression from Comment Linking.

@ishpaul777
Copy link
Contributor

Sure!

@melvin-bot melvin-bot bot added Reviewing Has a PR in review Weekly KSv2 and removed Hourly KSv2 labels Mar 23, 2024
@roryabraham
Copy link
Contributor

PR is ready: #38856

@nkdengineer
Copy link
Contributor

@roryabraham #38856 a regression of this PR

Infinite loading if we enter a reportID that is one in this array ['', 'null', '0']. for invalid reportID, OpenReport API isn't called and then isLoading is always true,

const isLoading = !ReportUtils.isValidReportIDFromPath(reportIDFromRoute) ||
Screen.Recording.2024-03-25.at.16.49.40.mov

I think each wrap logic in shouldShowNotFoundPage is added for some reason and we shouldn't wrap this with shouldShowSkeleton

As I mentioned in my proposal, the previous logic is added from this PR #33394, and we should bring this logic back. It can fix the current RCA and can prevent from causing other regressions.

@roryabraham
Copy link
Contributor

Verified this is fixed on staging, closing this out and checking it off on the checklist. @nkdengineer do you have a link to this new issue / regression you're alluding to?

@roryabraham roryabraham removed the DeployBlockerCash This issue or pull request should block deployment label Mar 25, 2024
@nkdengineer
Copy link
Contributor

@roryabraham There is no new issue for that but it's a known issue here #32651 that is fixed. But after the PR here, it is back.

@bernhardoj
Copy link
Contributor

bernhardoj commented Mar 28, 2024

It also causes this infinite loading issue #39090. We should use the old approach as suggested by @nkdengineer

@garrettmknight
Copy link
Contributor

@roryabraham shall we reopen this one to fix the regression?

@ishpaul777
Copy link
Contributor

regression should be fixed by #38955 merged recently

Screen.Recording.2024-03-29.at.1.36.15.AM-1.mov

@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 29, 2024
@melvin-bot melvin-bot bot changed the title Sign up - Hmmm its not here page is displayed for a moment on sign up [HOLD for payment 2024-04-05] Sign up - Hmmm its not here page is displayed for a moment on sign up Mar 29, 2024
@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label Mar 29, 2024
Copy link

melvin-bot bot commented Mar 29, 2024

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

Copy link

melvin-bot bot commented Mar 29, 2024

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.57-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 2024-04-05. 🎊

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

  • @ishpaul777 requires payment (Needs manual offer from BZ)

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 Engineering Weekly KSv2
Projects
Status: Done
Development

No branches or pull requests

8 participants