[Payment due @ahmedGaber93] Bypass suggestedFollowups beta for MANAGE_TEAM + MICRO cohort#87282
Conversation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The test for "without suggestedFollowups beta" was using MICRO company size, but our change makes MICRO + MANAGE_TEAM users bypass the beta gate. Changed to SMALL so the test still validates the beta gate for non-cohort users. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Codecov Report❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.
|
|
@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: 6a982fbeae
ℹ️ 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".
The createWorkspace path generates bespokeWelcomeMessage and optimisticConciergeReportActionID when shouldUseFollowupsInsteadOfTasks is true, but never sends them to the server. This causes the optimistic Concierge message to appear client-side but never persist. The completeOnboarding path already forwards these correctly. Add both fields to CreateWorkspaceParams and pass them from buildPolicyData so the server can persist the bespoke welcome message and generate suggested followups for the createWorkspace flow. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
FYI, the web PR is merged, can we take this off hold? |
|
No new product considerations - removing my assignment and unsubscribing. |
|
Hi @ahmedGaber93 the PR is ready for review |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: mWeb Safari |
|
Bug already exist on production with beta enabled: the concierge icon and its tooltip are mismatched. bug.mov@marcochavezf Do you think this is a blocker since it can now be used outside of beta? |
ahmedGaber93
left a comment
There was a problem hiding this comment.
Just a minor comment #87282 (comment)
|
@MonilBhavsar 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] |
|
🎯 @ahmedGaber93, thanks for reviewing and testing this PR! 🎉 A payment issue will be created for your review once this PR is deployed to production. If payment is not needed (e.g., regression PR review fix etc), react with 👎 to this comment to prevent the payment issue from being created. |
|
@MonilBhavsar Just a minor comment #87282 (comment) |
|
Yes, I think we should fix it 👍 |
|
🚧 @MonilBhavsar has triggered a test Expensify/App build. You can view the workflow run here. |
This comment has been minimized.
This comment has been minimized.
@ahmedGaber93, looks like the bug was fixed in #87126. So it is not reproducible on production. Could you please try again? |
|
@MonilBhavsar, I’ve tested it again, and it works well. However, we have new updates on the main branch that might need to be addressed here. Micro company size is deprecated now, I think we need to replace it here with the new sizes MICRO_SMALL and MICRO_MEDIUM. Lines 151 to 155 in 64eac92
|
|
Yeah fair point. |
MICRO is deprecated on main in favor of MICRO_SMALL (1-4) and MICRO_MEDIUM (5-10). Update the phase1 cohort check to match all micro company sizes, keeping the deprecated MICRO for backwards compatibility. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Updated to include the sizes, also I think we might require a new backend change |
|
PR created to include the other two sizes in the backend https://github.com/Expensify/Web-Expensify/pull/52206 |
|
The last Web-E PR was deployed to staging cc @ahmedGaber93 @MonilBhavsar ready for a final review |
|
@ahmedGaber93 mind checking this bug #87282 (comment) now? |
|
It works as expected Screen.Recording.2026-04-21.at.8.12.25.PM.movScreen.Recording.2026-04-21.at.8.14.46.PM.movScreen.Recording.2026-04-21.at.8.16.49.PM.mov |
ahmedGaber93
left a comment
There was a problem hiding this comment.
Tested and it works as expected.
We only need to update this QA step:
-1. Create a new account selecting MANAGE_TEAM and company size 1-10
+1. Create a new account selecting MANAGE_TEAM and company size 1-4 or 5-10
QA steps updated |
|
🚧 @MonilBhavsar 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/MonilBhavsar in version: 9.3.62-0 🚀
Bundle Size Analysis (Sentry): |






On hold for https://github.com/Expensify/Web-Expensify/pull/51917/Explanation of Change
Phase 1 of the suggested followups rollout targets the MANAGE_TEAM + MICRO company size cohort (1-10 employees). The backend bypass is already in place (Web-Expensify #51917), but the frontend also gates on the
suggestedFollowupsbeta before generating thebespokeWelcomeMessageparameter.This PR adds a cohort check alongside the existing beta check: if
shouldPostTasksInAdminsRoomis true (which already implies MANAGE_TEAM) and the company size is MICRO, the beta gate is bypassed. The beta still works for non-cohort users.Deploy coordination: This PR activates the Phase 1 beta bypass on the frontend. The backend bypass is in Web-Expensify #51917. Feature activates when both PRs are deployed. Safe to merge independently — the backend bypass is a no-op without the frontend sending
bespokeWelcomeMessage.Fixed Issues
$ https://github.com/Expensify/Expensify/issues/621379
Tests
Offline tests
N/A — onboarding data is generated optimistically on the client side and queued for server sync. Offline behavior is unchanged by this PR.
QA Steps
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
N/A — logic-only change, no UI modifications
Android: mWeb Chrome
N/A — logic-only change, no UI modifications
iOS: Native
N/A — logic-only change, no UI modifications
iOS: mWeb Safari
N/A — logic-only change, no UI modifications
MacOS: Chrome / Safari
Bespoke welcome message with follow-ups (manage my team's expenses + 1-10 company size)
Onboarding task (other variants)