Allow re-verifying an already-validated domain for non-admin domain members instead of showing a NotFoundPage page - #96721
Conversation
|
looks good, only thing I wonder about, is it desired for an domain admin to see this screen? Those checks prevented the deep-link access to verify screen Screen.Recording.2026-07-22.at.10.46.29.mov |
Good catch - you were right. The initial solution removed the |
|
@ZhenjaHorbach @mountiny One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
Reviewer Checklist
Screenshots/VideosAndroid: HybridApp2026-07-22.16.42.48.movAndroid: mWeb Chrome2026-07-22.16.42.48.moviOS: HybridApp2026-07-22.16.42.48.moviOS: mWeb Safari2026-07-22.16.42.48.movMacOS: Chrome / Safari2026-07-22.16.41.20.mov |
|
Changes look good! |
|
🚧 mountiny has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/mountiny in version: 9.4.43-0 🚀
|
|
🤖 I reviewed the changes in this PR against the help site files under No help site changes are required. This PR is a bug fix in The most relevant article,
Because no documented, user-facing behavior changes, there's nothing to update on the help site, so I haven't opened a docs PR. @rayane-d, please confirm you agree no help site changes are needed here. If you'd like a docs update anyway (e.g. to clarify the non-admin verification flow), let me know and I'll open a draft PR. |
|
Deploy Blocker #96847 was identified to be related to this PR. |
|
fixed here #96858 |
|
🚀 Deployed to production by https://github.com/yuwenmemon in version: 9.4.43-1 🚀
Bundle Size Analysis (Sentry): |
Explanation of Change
On an already-verified domain, clicking Verify (by a non-admin domain member) took the user to the not found page instead of the verify screen. This was because the code treated a verified domain as a dead end. With this PR, The DNS verify screen opens and works for verified domains too, just like in Classic. the BE commands to get the code and verify the domain already work for non-admins.
validatedcheck that stopped the app from fetching the verify code (without this, the code field showed empty).validatedcheck from the effect that clears old verify errors.Fixed Issues
$ #96688
PROPOSAL:
Tests
.../workspaces/domain-access-restricted/<domainAccountID>).Offline tests
N/A
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
Same as tests.
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