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
[Due for payment 2026-10-28] mweb - Rules - Next button on Describe modal is blocked by keyboard #103872
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: Samsung Galaxy S25 FE / Android 16 App Component: Workspace Settings
Action Performed:
Precondition:
Create a Collect workspace.
Enable Rules.
Go to staging.new.expensify.com
Go to workspace settings > Rules.
Tap Add rule.
Tap Restrict card spend.
Tap Describe.
Scroll down the page to reveal Next button.
Expected Result:
Describe rule page can be scrolled down to reveal Next button when keyboard is opened.
Actual Result:
Describe rule page cannot be scrolled down to reveal Next button when keyboard is opened.
👋 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.
Root cause: On mobile web, the Describe modal is a bottom sheet that stays behind the keyboard and can't scroll:
The web Modal forces avoidKeyboard={false} (Modal/index.tsx:110). The modal's own avoidKeyboard prop (DescribeRuleModal.tsx:140) has no effect. On iOS, the keyboard shrinks only the visible viewport, so the sheet stays pinned behind the keyboard.
Recommendation: Roll forward with a targeted fix rather than reverting the 30-file feature. In DescribeRuleModal.tsx:
Pass outerStyle={isSmallScreenWidth ? StyleUtils.getOuterModalStyle(windowHeight, viewportOffsetTop) : undefined} (styles/utils/index.ts:1198-1200). CategoryPickerModal, EmojiPicker and FilterPopupButton already use this fix for the same problem.
That open PR alone doesn't fix this issue, because the sheet would still sit behind the iOS keyboard. Extend it with the changes above and list both this issue and Android - Rules - Describe modal partially overlaps with device status bar under "Fixed Issues". That issue has the same root cause. If the fix can't land before the deploy, revert the causing PR.
Investigation details
The causing PR added DescribeRuleModal.tsx, DescribeRuleButton.tsx, the describeRulePromptInput style and the 312px height variable.
I checked all 73 App PRs in the current deploy checklist. None touch components/Modal, components/Form, the Describe files or the bottom-docked modal styles. Fix elements hidden behind keyboard in landscape mode changes only CollapsibleHeaderOnKeyboard, which this modal doesn't use.
No beta gates the feature. SpendRulePageBase.tsx:479 renders the Describe button for any new rule.
DescribeRuleModal is the only bottom-docked modal in src that contains a text input.
The issue body lists an Android device, but only iOS mWeb Chrome is checked. iOS Chrome uses WebKit, so the iOS keyboard behavior above applies.
Code review rule: none suggested. This is a one-off. The existing rule UI-2 ("New pages must be scrollable") already covers the general pattern.
Next Steps: Reply with @MelvinBot implement this to create a draft PR, or @MelvinBot <your feedback> to refine this analysis.
Reproduced on iPhone 12/iOS 26.7.1/Safari/Build 9.5.8-2
"Describe" button appear on Expensifail account only.
After tap on "Describe" the keyboard doesn't auto pop-up. Please let me know if this should be reported?
changed the title [-]mweb - Rules - Next button on Describe modal is blocked by keyboard[/-][+][Due for payment 2026-10-28] mweb - Rules - Next button on Describe modal is blocked by keyboard[/+]on Oct 21, 2026
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.5.15-3 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:
If no regressions arise, payment will be issued on 2026-10-28. 🎊
The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the Contributor+ Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button]. If no checklist is needed for this issue, you can click: [no checklist button]
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/c45f8931492b7c95d6c14867539417806f043d97a2841a933615bafc86098e8c
melvin-bot commentedon Oct 13, 2026
You have been assigned to this deploy blocker because you recently merged this PR: #99624
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
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
💬 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). The auto-assignment is correct.
Root cause: On mobile web, the Describe modal is a bottom sheet that stays behind the keyboard and can't scroll:
ModalforcesavoidKeyboard={false}(Modal/index.tsx:110). The modal's ownavoidKeyboardprop (DescribeRuleModal.tsx:140) has no effect. On iOS, the keyboard shrinks only the visible viewport, so the sheet stays pinned behind the keyboard.shouldUseScrollView={false}(DescribeRuleModal.tsx:152). The bottom-docked style usesoverflow: 'hidden'and expects the content to scroll (ModalStyleUtils.ts:240-251).Recommendation: Roll forward with a targeted fix rather than reverting the 30-file feature. In
DescribeRuleModal.tsx:outerStyle={isSmallScreenWidth ? StyleUtils.getOuterModalStyle(windowHeight, viewportOffsetTop) : undefined}(styles/utils/index.ts:1198-1200).CategoryPickerModal,EmojiPickerandFilterPopupButtonalready use this fix for the same problem.shouldUseScrollView={isSmallScreenWidth}.That open PR alone doesn't fix this issue, because the sheet would still sit behind the iOS keyboard. Extend it with the changes above and list both this issue and Android - Rules - Describe modal partially overlaps with device status bar under "Fixed Issues". That issue has the same root cause. If the fix can't land before the deploy, revert the causing PR.
Investigation details
DescribeRuleModal.tsx,DescribeRuleButton.tsx, thedescribeRulePromptInputstyle and the 312px height variable.components/Modal,components/Form, the Describe files or the bottom-docked modal styles. Fix elements hidden behind keyboard in landscape mode changes onlyCollapsibleHeaderOnKeyboard, which this modal doesn't use.SpendRulePageBase.tsx:479renders the Describe button for any new rule.DescribeRuleModalis the only bottom-docked modal insrcthat contains a text input.UI-2("New pages must be scrollable") already covers the general pattern.Next Steps: Reply with
@MelvinBot implement thisto create a draft PR, or@MelvinBot <your feedback>to refine this analysis.m-natarajan commentedon Oct 13, 2026
Reproduced on iPhone 12/iOS 26.7.1/Safari/Build 9.5.8-2
"Describe" button appear on Expensifail account only.
After tap on "Describe" the keyboard doesn't auto pop-up. Please let me know if this should be reported?
MicrosoftTeams-video.2.mp4
m-natarajan commentedon Oct 13, 2026
Describe option not displayed if Beta disabled
[-]mweb - Rules - Next button on Describe modal is blocked by keyboard[/-][+][Due for payment 2026-10-28] mweb - Rules - Next button on Describe modal is blocked by keyboard[/+]melvin-bot commentedon Oct 21, 2026
@Krishna2323
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.5.15-3 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:
If no regressions arise, payment will be issued on 2026-10-28. 🎊
The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the Contributor+ Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button]. If no checklist is needed for this issue, you can click: [no checklist button]