You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Due for payment 2026-08-11] [$250] Refactor sibling-of-header page loaders to ActivityIndicator #96094
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/back button, which violates UI-1.
Solution
Refactor the following sibling-of-header pages from FullScreenLoadingIndicator to ActivityIndicator:
Note: TroubleshootPage and CardAuthenticationModal are not plain swaps — keep the underlying component mounted and use a scoped overlay, otherwise unmounting the loading branch swallows the error modal / deadlocks the spinner.
Plain swaps (WorkspaceWorkflowsApprovalsEditPage, AuthorizeTransactionPage): the HeaderWithBackButton renders in the same tree as the loader, so FullScreenLoadingIndicator is replaced with a centered ActivityIndicator rendered below the header.
Scoped overlays (TroubleshootPage, CardAuthenticationModal): as noted in the issue, these can't be plain swaps. The underlying component stays mounted and the spinner renders as an overlay (StyleSheet.absoluteFill + styles.fullScreenLoading) scoped to the content area below the header — so TroubleshootPage's ImportOnyxState (which drives isLoading and owns the import error modal) is never unmounted, and CardAuthenticationModal's iframe keeps loading so its onLoad still clears the spinner (no deadlock).
Each PR passed lint, typecheck, oxfmt, and the React Compiler compliance check locally. Please mark them "Ready for review" once you've verified them — the Tests/QA sections are left for the human co-author to fill in.
changed the title [-][$250] Refactor sibling-of-header page loaders to ActivityIndicator[/-][+][Due for payment 2026-08-11] [$250] Refactor sibling-of-header page loaders to ActivityIndicator[/+]on Aug 4, 2026
Activity
situchan commentedon Jul 23, 2026
@MelvinBot implement this. Create separate PRs per each occurrence
MelvinBot commentedon Jul 23, 2026
🤖 Done — one draft PR per occurrence, each branched off
main:TroubleshootPageImportOnyxStatemounted)CardAuthenticationModalWorkspaceWorkflowsApprovalsEditPageAuthorizeTransactionPageApproach
WorkspaceWorkflowsApprovalsEditPage,AuthorizeTransactionPage): theHeaderWithBackButtonrenders in the same tree as the loader, soFullScreenLoadingIndicatoris replaced with a centeredActivityIndicatorrendered below the header.TroubleshootPage,CardAuthenticationModal): as noted in the issue, these can't be plain swaps. The underlying component stays mounted and the spinner renders as an overlay (StyleSheet.absoluteFill+styles.fullScreenLoading) scoped to the content area below the header — soTroubleshootPage'sImportOnyxState(which drivesisLoadingand owns the import error modal) is never unmounted, andCardAuthenticationModal's iframe keeps loading so itsonLoadstill clears the spinner (no deadlock).Each PR passed
lint,typecheck,oxfmt, and the React Compiler compliance check locally. Please mark them "Ready for review" once you've verified them — theTests/QAsections are left for the human co-author to fill in.Julesssss commentedon Jul 28, 2026
Hi @situchan, could we get these into review soon please
15 remaining items
[-][$250] Refactor sibling-of-header page loaders to ActivityIndicator[/-][+][Due for payment 2026-08-11] [$250] Refactor sibling-of-header page loaders to ActivityIndicator[/+]melvin-bot commentedon Aug 7, 2026
@situchan Whoops! This issue is 2 days overdue. Let's get this updated quick!
melvin-bot commentedon Aug 10, 2026
Triggered auto assignment to @mallenexpensify (
Awaiting Payment)melvin-bot commentedon Aug 10, 2026
Payment Summary
Resolving PRs:
Refactor TroubleshootPage loader to ActivityIndicator #96821
Refactor CardAuthenticationModal loader to ActivityIndicator #96822
Refactor AuthorizeTransactionPage loader to ActivityIndicator #96828
Refactor WorkspaceWorkflowsApprovalsEditPage loader to ActivityIndicator #96826
Reviewer: @situchan owed $250 via NewDot
BugZero Checklist (@mallenexpensify)
mallenexpensify commentedon Aug 13, 2026
@situchan @Julesssss this due $250, en total, for all?
situchan commentedon Aug 13, 2026
$500 total, $125 for each
mallenexpensify commentedon Aug 13, 2026
Payment Summary
Contributor+: @situchan due $500 via NewDot
laurenreidexpensify commentedon Aug 24, 2026
$500 approved @situchan New Expensify