Skip to content

[Tracking] Ensure any error page is recoverable and logs necessary info for more debugging #69850

Closed
37 of 37 issues completed

Description

@mountiny

Coming from this thread, there are some full-screen error pages that might not have an easy way to recover for the user (or none). These pages might be rare for the user to run into, but they can still happen.

Let's:

  • Map the places that show error pages, but they are not recoverable?
  • Then work with design team and product team to add ways to recover the app from that state
  • Add many more logs so we can create issues to investigate when this happens and that we have more idea for why this happened
    • That means try to identify places that precede showing this page and add logs there so we can better see why

cc @rlinoz as its remotely related to trakcing

Payment issue for @situchan here, batch 2

Sub Issues

Issue OwnerCurrent Issue Owner: @situchan

Activity

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

    @melvin-bot

    Triggered auto assignment to @greg-schroeder (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. mateuuszzzzz commented on Sep 5, 2025

    @mateuuszzzzz
    Contributor

    Hi, I searched the codebase to find non-recoverable paths. Here's the results:

    List of component that use ActivityIndicator directly and are non-recoverable if infinite loading occurs:

    https://github.com/Expensify/App/blob/main/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardPage.tsx
    https://github.com/Expensify/App/blob/main/src/pages/workspace/receiptPartners/WorkspaceReceiptPartnersPage.tsx
    https://github.com/Expensify/App/blob/main/src/pages/workspace/companyCards/WorkspaceCompanyCardsPage.tsx
    https://github.com/Expensify/App/blob/main/src/pages/iou/request/step/IOURequestStepScan/index.native.tsx
    https://github.com/Expensify/App/blob/main/src/pages/iou/request/step/IOURequestStepScan/index.tsx
    https://github.com/Expensify/App/blob/main/src/pages/signin/ThirdPartySignInPage.tsx

    List of components that use our FullScreenLoadingIndicator and are non-recoverable if infinite loading occurs:

    https://github.com/Expensify/App/blob/main/src/pages/workspace/AccessOrNotFoundWrapper.tsx
    https://github.com/Expensify/App/blob/main/src/pages/iou/request/step/IOURequestStepConfirmation.tsx
    https://github.com/Expensify/App/blob/main/src/pages/TransactionMerge/DetailsReviewPage.tsx
    https://github.com/Expensify/App/blob/main/src/pages/TransactionDuplicate/Confirmation.tsx
    https://github.com/Expensify/App/blob/main/src/pages/Search/SearchAdvancedFiltersPage/SearchFiltersStatusPage.tsx
    https://github.com/Expensify/App/blob/main/src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx
    https://github.com/Expensify/App/blob/main/src/pages/LogInWithShortLivedAuthTokenPage.tsx
    https://github.com/Expensify/App/blob/main/src/libs/Navigation/AppNavigator/AuthScreens.tsx
    https://github.com/Expensify/App/blob/main/src/pages/iou/request/step/withWritableReportOrNotFound.tsx
    https://github.com/Expensify/App/blob/main/src/pages/home/report/withReportOrNotFound.tsx
    https://github.com/Expensify/App/blob/main/src/pages/LogOutPreviousUserPage.tsx

    By non-recoverable, I mean a situation where the loading indicator takes up the full space, and there are no components available that could trigger a back action in the navigation.

  4. mateuuszzzzz commented on Sep 5, 2025

    @mateuuszzzzz
    Contributor

    According to this Slack conversation, we could come up with a smart way to measure when loading indicators remain visible for too long and log the root cause (e.g., which props or states in the components are responsible for that). It could be handled directly by FullScreenLoadingIndicator.

    I’m also thinking about the inconsistency in the codebase, where we sometimes use ActivityIndicator and other times FullScreenLoadingIndicator. Ideally, it would be best to have a single component responsible for this. cc: @mountiny

  5. mateuuszzzzz commented on Sep 5, 2025

    @mateuuszzzzz
    Contributor

    I’ll be OOO from the 8th to the 12th of September, @blazejkustra will be taking over this issue.

  6. self-assigned this
    on Sep 5, 2025
  7. self-assigned this
    on Sep 5, 2025
  8. Valforte commented on Sep 8, 2025

    @Valforte
    Contributor

    Not overdue

  9. 270 remaining items

  10. Julesssss commented on Aug 24, 2026

    @Julesssss
    Contributor

    Final component refactor complete, just awaiting deployment to prod and we can make the flip!

  11. melvin-bot commented on Aug 27, 2026

    @melvin-bot

    This issue has not been updated in over 15 days. @shawnborton, @Julesssss, @Valforte, @blazejkustra, @mateuuszzzzz, @situchan eroding to Monthly issue.

    P.S. Is everyone reading this sure this is really a near-term priority? Be brave: if you disagree, go ahead and close it out. If someone disagrees, they'll reopen it, and if they don't: one less thing to do!

  12. Julesssss commented on Aug 28, 2026

    @Julesssss
    Contributor

    Final PR deployed to prod, we can now switch to Go Back button default to true. It's in progress here.

  13. added
    ImprovementItem broken or needs improvement.
    and removed on Aug 28, 2026
  14. melvin-bot commented on Sep 21, 2026

    @melvin-bot

    This issue has not been updated in over 15 days. @shawnborton, @Julesssss, @Valforte, @blazejkustra, @mateuuszzzzz, @situchan eroding to Monthly issue.

    P.S. Is everyone reading this sure this is really a near-term priority? Be brave: if you disagree, go ahead and close it out. If someone disagrees, they'll reopen it, and if they don't: one less thing to do!

  15. Julesssss commented on Sep 21, 2026

    @Julesssss
    Contributor

    PR in review, bumping it here.

  16. Julesssss commented on Oct 21, 2026

    @Julesssss
    Contributor

    Project complete! Thanks all

    Handling payment for the last few issues here.

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.ImprovementItem broken or needs improvement.MonthlyKSv2Not a priorityReviewingHas a PR in review

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions