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
Rules - Rule description modal closes after refreshing page. #103867
Version Number: 9.5.8-0 Reproducible in staging?: Yes Reproducible in production?: N/A - new feature, doesn't exist in prod If this was caught during regression testing, add the test name, ID and link from BrowserStack:#99624 Email or phone of affected tester (no customers):[email protected] Issue reported by: Applause Internal Team Bug source: Exploratory - Significant User Experience Deterioration Device used: Windows 11 / Chrome App Component: Workspace Settings
Action Performed:
Prerequisite: User is owner of a "Control" workspace with "Rules" enabled.
Open the staging.new.expensify.com website.
Navigate to "Workspaces" > Workspace > "Rules"
Click on "Flag for review" > "Create flag rule"
Click on "Describe"
Once describe modal appears, refresh the page.
Note that after page is refreshed, modal closes and you return to "Flag for review" RHP.
Expected Result:
Rule description modal should remain displayed afrer page is refreshed.
Actual Result:
Rule description modal is closed after the website is refreshed.
👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:
Identify the pull request that introduced this issue and revert it.
Causing PR:AI-assisted rule creation (high confidence). It added the Describe button and modal. This feature is not in production yet.
Root cause: The Describe modal opens from a local useState flag and has no route. A page refresh resets React state, so only the routed "Flag for review" page comes back.
Recommendation: demote, don't revert. This is a limitation of how the new feature was built, not a regression. The PR moved from a routed prompt page to a modal on purpose, and design agreed in the PR thread. Other modals in the app with no route behave the same way. Reverting would remove the whole AI rule-creation feature over this.
The PR first used a routed page (RulesNewPromptForm). Commit 7908cfe replaced it with the button and modal after design chose "as a modal."
User impact is small. The input uses shouldSaveDraft (DescribeRuleModal.tsx:169), so text the user typed should still be there after they click Describe again. I have not tested this.
If product wants the modal to stay open after a refresh, the modal needs its own route. That can be a normal follow-up, not a blocker.
No code review rule is proposed. A modal with no route is a common, intended pattern, not a one-off mistake.
Next Steps: An internal engineer should decide whether to remove DeployBlockerCash. Reply with @MelvinBot <your feedback> to refine this analysis.
Activity
applause-bot commentedon Oct 13, 2026
While Applause doesn't embed attachments for this bug, here are the links for quick view:
https://platform.applause.com/services/links/v1/external/d2819cb6674ca0800b2594208f2e102fd494276fe2d448d09d996877a3344e37
melvin-bot commentedon Oct 13, 2026
You have been assigned to this deploy blocker because you recently merged this PR: #99624
github-actions commentedon Oct 13, 2026
👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:
melvin-bot commentedon Oct 13, 2026
@luacmartins @JS00001 @Krishna2323 you have been assigned to this deploy blocker because you reviewed the offending PR: #99624
melvin-bot commentedon Oct 13, 2026
@rushatgabhane you have been assigned to this deploy blocker because you authored the offending PR: #99624
melvin-bot commentedon Oct 13, 2026
💬 A slack conversation has been started in #expensify-open-source
MelvinBot commentedon Oct 13, 2026
Deploy Blocker Analysis
Causing PR: AI-assisted rule creation (high confidence). It added the Describe button and modal. This feature is not in production yet.
Root cause: The Describe modal opens from a local
useStateflag and has no route. A page refresh resets React state, so only the routed "Flag for review" page comes back.Recommendation: demote, don't revert. This is a limitation of how the new feature was built, not a regression. The PR moved from a routed prompt page to a modal on purpose, and design agreed in the PR thread. Other modals in the app with no route behave the same way. Reverting would remove the whole AI rule-creation feature over this.
Investigation details
DescribeRuleButton.tsx:41(useState(false)). The button sets it totrueat line 48.<Modal isVisible={isVisible}>with no route, and nothing is saved in the URL or Onyx:DescribeRuleModal.tsx:135-143.FlagForReviewRulePageBase.tsx:225.RulesNewPromptForm). Commit 7908cfe replaced it with the button and modal after design chose "as a modal."shouldSaveDraft(DescribeRuleModal.tsx:169), so text the user typed should still be there after they click Describe again. I have not tested this.Next Steps: An internal engineer should decide whether to remove
DeployBlockerCash. Reply with@MelvinBot <your feedback>to refine this analysis.view run
rushatgabhane commentedon Oct 13, 2026
not a bug
this is expected
kavimuru commentedon Oct 13, 2026
bandicam.2026-10-13.20-22-52-600.mp4