fix: infinite loading in onboarding join workspace step - #86076
fix: infinite loading in onboarding join workspace step#86076dominictb wants to merge 16 commits into
Conversation
…ix/infinite-loading-in-onboaring-join-workspace-step
|
@ahmedGaber93 Please 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] |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 75a8683794
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
trjExpensify
left a comment
There was a problem hiding this comment.
Yikes, good catch! 👍
|
Reviewed and left some comments above: #86076 (comment) |
|
Since this happens when there're no joinable policies, we'd face another issue here #86068 (comment). Ben'll come back today. We could wait for him. |
…ix/infinite-loading-in-onboaring-join-workspace-step
|
@ahmedGaber93 Ready for re-review. Latest behavior here #86068 (comment). Also updated test steps. |
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
Reviewer Checklist
Screenshots/VideosAndroid: HybridApp20260405224849872.mp420260405224315246.mp4Android: mWeb Chrome20260406001940307.mp4iOS: HybridAppiOS: mWeb Safari20260405200906125.mp420260405221412464.mp4MacOS: Chrome / SafariUntitled.mp420260405195247725.mp4 |
|
There's an inconsistency here I need to resolve before this PR |
|
@dominictb any updates? |
|
@dominictb friendly bump |
|
This #86656 (comment) is not resolved yet. Joe is OOO till early next month. |
…ding-in-onboaring-join-workspace-step
…ding-in-onboaring-join-workspace-step
|
@ahmedGaber93 Ready for re-review. This bug is no longer reproducible #86076 (comment). |
|
@dominictb, I tested the issue again today, and it still occurs for me. Are you able to reproduce it as well? 20260519093930386.mp4 |
…ding-in-onboaring-join-workspace-step
|
@ahmedGaber93 It was pretty fast for me so I did not see the stale screen like you did: Screen.Recording.2026-05-21.at.22.19.07.movI'd say this is not a blocker and if QA could reproduce it on staging, I'd create a follow-up PR to fix it later. |
|
@dominictb Hmm, I can reproduce this consistently. Are you testing with a local backend? I think you may need to test it against the real backend. |
…ding-in-onboaring-join-workspace-step
|
@dominictb WDYT ^? |
|
Trying to fix. But it introduced more issues (e.g., API calls are repeated). |
|
Ah, are you working on it? |
|
Yeah yeah still working on it though. Your assumption was correct. Only reproducible on prod env, not my local env. |
…ding-in-onboaring-join-workspace-step
…ding-in-onboaring-join-workspace-step
|
@ahmedGaber93 I think I fixed the flickering issue. Can you double check? Thanks |

Explanation of Change
Infinite loading in join workspaces step because we're relying on API fetching status
joinablePoliciesLoadingto determine whether to call theGetAccessibleDomainPoliciesForOnyxcommand. We got into a dependency loop where command runs ⇒joinablePoliciesLoadingchanges ⇒ command runs again ⇒joinablePoliciesLoadingchanges again and again...This PR replaces the API fetching status condition with Onyx data fetching status instead.
Fixed Issues
$ #86068
PROPOSAL:
Tests
Precondition:
Offline tests
NA
QA Steps
Same as Tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, 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.ScrollViewcomponent to make it scrollable when more elements are added to the page.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
Screen.Recording.2026-04-02.at.17.16.49.mov
Screen.Recording.2026-03-27.at.10.45.33-compressed.mov