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-09-01] [NO QA][$250] Refactor shared component loaders to ActivityIndicator #96095
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 shared components from FullScreenLoadingIndicator to ActivityIndicator. As these are shared, verify every consumer keeps its header visible during loading:
Both refactor FullscreenLoadingIndicator → ActivityIndicator (size="large", style={styles.flex1}), so the spinner renders below the header instead of as an absoluteFill overlay that covers it — satisfying UI-1.
Verification & notes
Onfido (shared component): confirmed all 3 consumers render a header behind the loader, so ActivityIndicator is correct:
BankConnection:renderLoading (the WebView loading state) sits inside FullPageOfflineBlockingView below a HeaderWithBackButton, and matches the sibling branch that already uses ActivityIndicator. Also renamed the now-inaccurate fullscreenReasonAttributes variable to webViewReasonAttributes (telemetry context unchanged).
Tests run locally: ESLint passed on both changed files. Full typecheck / jest / storybook smoke could not run in this environment — CI will validate them on the PRs. The Tests/QA sections are left for the human co-author to complete.
Please review each PR and mark it "Ready for review" when it looks good.
changed the title [-][Due for payment 2026-08-11] [$250] Refactor shared component loaders to ActivityIndicator[/-][+][NO QA][Due for payment 2026-08-11] [$250] Refactor shared component loaders to ActivityIndicator[/+]on Aug 25, 2026
changed the title [-][NO QA][Due for payment 2026-08-11] [$250] Refactor shared component loaders to ActivityIndicator[/-][+][Due for payment 2026-09-01] [NO QA][$250] Refactor shared component loaders to ActivityIndicator[/+]on Aug 25, 2026
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.4.60-2 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:
Activity
situchan commentedon Jul 23, 2026
@MelvinBot implement this. Create separate PRs per each occurrence
MelvinBot commentedon Jul 23, 2026
🤖 Done — opened a separate draft PR for each occurrence:
src/components/Onfido/index.native.tsx→ Refactor Onfido native loader to ActivityIndicator #96819src/pages/settings/Wallet/PersonalCards/steps/BankConnection/index.native.tsx→ Refactor PersonalCards BankConnection native loader to ActivityIndicator #96820Both refactor
FullscreenLoadingIndicator→ActivityIndicator(size="large",style={styles.flex1}), so the spinner renders below the header instead of as anabsoluteFilloverlay that covers it — satisfying UI-1.Verification & notes
Onfido (shared component): confirmed all 3 consumers render a header behind the loader, so
ActivityIndicatoris correct:pages/ReimbursementAccount/USD/Requestor/VerifyIdentity/VerifyIdentity.tsx(InteractiveStepWrapper)pages/EnablePayments/Wallet/VerifyIdentity/VerifyIdentity.tsx(HeaderWithBackButton)pages/EnablePayments/Pay/Onfido/OnfidoStep.tsx(HeaderWithBackButton)BankConnection:
renderLoading(the WebView loading state) sits insideFullPageOfflineBlockingViewbelow aHeaderWithBackButton, and matches the sibling branch that already usesActivityIndicator. Also renamed the now-inaccuratefullscreenReasonAttributesvariable towebViewReasonAttributes(telemetrycontextunchanged).Tests run locally: ESLint passed on both changed files. Full
typecheck/jest/storybooksmoke could not run in this environment — CI will validate them on the PRs. TheTests/QAsections are left for the human co-author to complete.Please review each PR and mark it "Ready for review" when it looks good.
8 remaining items
melvin-bot commentedon Aug 7, 2026
@situchan Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!
melvin-bot commentedon Aug 10, 2026
Triggered auto assignment to @mallenexpensify (
Awaiting Payment)melvin-bot commentedon Aug 10, 2026
Payment Summary
Resolving PRs:
Refactor PersonalCards BankConnection native loader to ActivityIndicator #96820
Reviewer: @situchan owed $250 via NewDot
BugZero Checklist (@mallenexpensify)
mallenexpensify commentedon Aug 13, 2026
Payment Summary
Contributor+: @situchan due $250 via NewDot
laurenreidexpensify commentedon Aug 24, 2026
$250 approved @situchan New Expensify
[-][Due for payment 2026-08-11] [$250] Refactor shared component loaders to ActivityIndicator[/-][+][NO QA][Due for payment 2026-08-11] [$250] Refactor shared component loaders to ActivityIndicator[/+][-][NO QA][Due for payment 2026-08-11] [$250] Refactor shared component loaders to ActivityIndicator[/-][+][Due for payment 2026-09-01] [NO QA][$250] Refactor shared component loaders to ActivityIndicator[/+]melvin-bot commentedon Aug 25, 2026
@situchan @mallenexpensify
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.4.60-2 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-09-01. 🎊