Repository navigation
Keep the Go Back button off the global FullScreenLoaderContext overlay - #103422
Conversation
Co-authored-by: Situ Chandra Shil <situchan@users.noreply.github.com>
|
@MelvinBot add QA steps |
|
I added QA steps to the PR description. They check that the attachment loader overlay still clears and never shows "Go Back":
This PR doesn't change behavior on |
|
@MelvinBot mark this PR ready for review |
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
|
🤖 Done. This PR is now marked ready for review. The Tests and QA sections in the PR description still contain the TODO placeholders, so fill those in before review. |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppios.mp4iOS: mWeb SafariMacOS: Chrome / Safariweb.mov |
Julesssss
left a comment
There was a problem hiding this comment.
Comment okay in this case
|
🚧 Julesssss has triggered a test Expensify/App build. You can view the workflow run here. |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/Julesssss in version: 9.5.6-0 🚀
|
|
No help site update is needed. This PR only passes an explicit |
|
Hello @JmillsExpensify @Julesssss |
|
Theres no "preview" when selecting a image in apps as appears in web and.mp4web.mp4 |
There should be no behavioral change compared to production. |
|
🚀 Deployed to production by https://github.com/puneetlath in version: 9.5.6-6 🚀
Bundle Size Analysis (Sentry): |
Yeah fine to check off, thanks. |

Explanation of Change
FullScreenLoaderContextProviderrenders a globalFullScreenLoadingIndicatornext to{children}at the app root. The attachment picker in the report composer anduseFilesValidationturn it on while files are processed. It's a blocking overlay rather than a route loader: the current screen and its header stay underneath it at 0.8 opacity.Once #96098 flips
FullScreenLoadingIndicator'sshouldUseGoBackButtondefault totrue, this overlay would show "Go Back" after the timeout. Pressing it would callNavigation.goBackon the screen underneath, but nothing would clearisLoaderVisible, so the overlay would stay on top of whatever screen the user lands on.This passes an explicit
shouldUseGoBackButton={false}, with a comment explaining why, matching the explicit opt-outs added for the auth and transition screens in the flip PR. It doesn't change behavior onmaintoday, because the default is stillfalse. It keeps the overlay unchanged once the default flips.This is one of the sites found in the re-audit before the flip.
AI tests run locally
npm run lint-changed: passednpm run typecheck: passednpm run react-compiler-compliance-check check <file>: passednpm run spell-changed: passedoxfmt: clean--findRelatedTests: 91/92 suites passed.tests/unit/pages/HomePage.test.tsxfailed only in the parallel run and passes in isolation on both this change andmain, so it's a pre-existing isolation flake.Fixed Issues
$ #96098
PROPOSAL: #96098 (comment)
Tests
// TODO: The human co-author must fill out the tests you ran before marking this PR as "ready for review"
// Please describe what tests you performed that validates your changed worked.
Offline tests
QA Steps
This PR keeps the current behavior. The loader already hides the "Go Back" button by default on
main. These steps check that the attachment loader overlay still works and never shows "Go Back".PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari