Skip to content

[Due for payment 2026-08-28] [$250] Refactor IOU cluster loaders to ActivityIndicator #96096

Closed

Description

@Julesssss

Problem

Refactor these FullScreenLoadingIndicator usages to ActivityIndicator, in preparation for making the error/loading page recoverable (enabling the Go Back button by default). They currently render on top of a visible header/tab bar, which violates UI-1.

Solution

Refactor the following IOU cluster sites from FullScreenLoadingIndicator to ActivityIndicator:

Note: IOURequestStepConfirmation and withFullTransactionOrNotFound serve both an embedded tab (header + tab bar visible) and a standalone RHP route (no chrome, must keep the fullscreen loader), so the swap must be conditional on render context.

Parent: #69850

Issue OwnerCurrent Issue Owner: @situchan
Upwork Automation - Do Not Edit

Activity

  1. situchan commented on Jul 23, 2026

    @situchan
    Contributor

    @MelvinBot implement this. Create separate PRs per each occurrence

  2. MelvinBot commented on Jul 23, 2026

    @MelvinBot
    Contributor

    🤖 Done — I split the refactor into 4 separate draft PRs, one per occurrence, each assigned to situchan with Expensify/pullerbear requested for review:

    # PR Site Swap
    1 #96823 IOURequestStartPage.tsx:249 — manual-tab pending-reset loader Unconditional → ActivityIndicator (always embedded; header + tab bar always visible)
    2 #96825 IOURequestStepConfirmation.tsx:808 — isLoadingTransaction early return Conditional on shouldHideHeader → ActivityIndicator embedded, FullScreenLoadingIndicator standalone RHP
    3 #96827 IOURequestStepConfirmation.tsx:937 — isLoading/scan overlay Unconditional → ActivityIndicator, preserving the absolute-fill overlay (a header is present in both contexts)
    4 #96835 withFullTransactionOrNotFound.tsx:109 — HOC loader Conditional on render context → threads shouldHideHeader into the HOC

    All swaps follow the established pattern (ActivityIndicator from @components/ActivityIndicator wrapped in the fullScreenLoading container, reasonAttributes telemetry preserved).

    On the "conditional on render context" note in the issue:

    Two things to flag:

    Mark each PR "Ready for review" once you've filled in the test steps.

  3. changed the title [-]Refactor IOU cluster loaders to ActivityIndicator[/-] [+][$250] Refactor IOU cluster loaders to ActivityIndicator[/+] on Aug 3, 2026
  4. melvin-bot commented on Aug 3, 2026

    @melvin-bot
  5. 17 remaining items

  6. melvin-bot commented on Aug 10, 2026

    @melvin-bot

    Payment Summary

    Resolving PRs:

    BugZero Checklist (@mallenexpensify)

    • I have confirmed assignees, roles, and Upwork contracts look correct
    • I have paid out Upwork contracts / manual NewDot requests
  7. mallenexpensify commented on Aug 13, 2026

    @mallenexpensify
    Contributor

    Payment Summary

    Contributor+: @situchan due $500 via NewDot

  8. changed the title [-][Due for payment 2026-08-11] [$250] Refactor IOU cluster loaders to ActivityIndicator[/-] [+][Due for payment 2026-08-28] [$250] Refactor IOU cluster loaders to ActivityIndicator[/+] on Aug 21, 2026
  9. melvin-bot commented on Aug 21, 2026

    @melvin-bot

    @situchan @mallenexpensify

    The solution for this issue has been 🚀 deployed to production 🚀 in version 9.4.57-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 2026-08-28. 🎊

  10. mallenexpensify commented on Aug 29, 2026

    @mallenexpensify
    Contributor

    Updated payment amount for @situchan to $500, will reopen for a sec in case @Julesssss disagrees

  11. melvin-bot commented on Sep 1, 2026

    @melvin-bot

    @situchan Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

  12. laurenreidexpensify commented on Sep 3, 2026

    @laurenreidexpensify
    Contributor

    $500 approved @situchan New Expensify

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionDailyKSv2EngineeringImprovementItem broken or needs improvement.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions