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-11-02] Android & iOS - Rules - App does not scroll down to Describe field when field is focused #104648
Version Number: 9.5.16-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:#103810 Email or phone of affected tester (no customers):jsoidjndoiniodnsjojd@gmail.com Issue reported by: Applause Internal Team Bug source: Exploratory - Significant User Experience Deterioration Device used: iPhone 17 Pro Max / iOS 27.0.1 App Component: Search
👋 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.
When the keyboard opens, ScreenWrapper's KeyboardAvoidingView shrinks the form's plain ScrollView (FormWrapper.tsx:287-297). Nothing then scrolls the input back into view:
scrollContextEnabled is off, and ScrollViewWithContext only handles Pickers anyway.
Android's built-in scroll-to-focus runs before the container shrinks, so it has no effect.
On a multiline input, caret scrolling stays inside the input and doesn't move the parent ScrollView.
Web isn't affected because browsers scroll focused elements into view natively.
FormWrapper.scrollToEnd waits for the keyboard animation before it scrolls (FormWrapper.tsx:157-162), so it handles the timing correctly.
Caveat: On current main, the refusal block from Handle agent rule and impossible answers in the AI rules builder #103952 renders between the input and the submit button. If that block is very tall on a small phone, scrolling to the end could push the input off the top. If so, measure the input's position and use formRef.current?.scrollTo(y) instead.
No fix or revert PR exists yet. No other recent commits touched FormWrapper, ScreenWrapper or KeyboardAvoidingView.
I didn't test this in the app. The bug only affects native, and this run could only test on web.
Next Steps: Reply with @MelvinBot implement this to create a draft PR, or @MelvinBot <your feedback> to refine this analysis.
@Krishna2323 plz complete the Contributor+ checklist and tag me in a post once you have. Thx
Causing PR (high confidence): #103810. It added the Describe input below the New rule templates. Before this PR, that page had no text input.
@Krishna2323 this issue and/or PR mention a deploy blocker or a regression. Before the payment date, post one of the three options in step 20 of the C+ doc: it was a regression, it was not, or you did not review the offending PR. If you don't post, the default is to reduce payment.
@mallenexpensify This was a regression, so no payment is needed. I'll handle the checklist in the original PR issue. Sorry for not mentioning that earlier!
Activity
melvin-bot commentedon Oct 21, 2026
You have been assigned to this deploy blocker because you recently merged this PR: #103810
applause-bot commentedon Oct 21, 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/f445d551fab1b68091f99fad29a975fadf61de7f3dba4114e813f102ba76924d
melvin-bot commentedon Oct 21, 2026
@francoisl @Krishna2323 you have been assigned to this deploy blocker because you reviewed the offending PR: #103810
melvin-bot commentedon Oct 21, 2026
@yuwenmemon you have been assigned to this deploy blocker because you authored the offending PR: #103810
melvin-bot commentedon Oct 21, 2026
💬 A slack conversation has been started in #expensify-open-source
github-actions commentedon Oct 21, 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:
MelvinBot commentedon Oct 21, 2026
Deploy Blocker Analysis
Causing PR (high confidence): [Payment due @Krishna2323] Describe a rule from New rule and fall back to an agent rule. It added the Describe input below the New rule templates. Before this PR, that page had no text input.
Recommendation: Demote and fix forward. Don't revert.
describeRulebeta, so production users can't hit it.Fix: Add one line to the Describe
InputWrapperin DescribeRuleForm.tsx:306-324:This follows the existing pattern in LimitTypeStep.tsx:81-83. Only the New rule page passes
shouldUseScrollView, soDescribeRuleModalis unchanged.Root cause details
RulesNewPageinDescribeNewRuleFormwhen the beta is on (RulesNewPage.tsx:168-188, DescribeNewRuleForm.tsx:145-170). The multiline Describe input sits below 4–5 template rows, near the bottom of the screen.ScreenWrapper'sKeyboardAvoidingViewshrinks the form's plainScrollView(FormWrapper.tsx:287-297). Nothing then scrolls the input back into view:scrollContextEnabledis off, andScrollViewWithContextonly handles Pickers anyway.FormWrapper.scrollToEndwaits for the keyboard animation before it scrolls (FormWrapper.tsx:157-162), so it handles the timing correctly.formRef.current?.scrollTo(y)instead.FormWrapper,ScreenWrapperorKeyboardAvoidingView.Next Steps: Reply with
@MelvinBot implement thisto create a draft PR, or@MelvinBot <your feedback>to refine this analysis.view run
22 remaining items
melvin-bot commentedon Nov 1, 2026
Triggered auto assignment to @mallenexpensify (
Awaiting Payment)melvin-bot commentedon Nov 1, 2026
Payment Summary
Resolving PRs:
Scroll New rule to the describe box when it gets focus #104684
Reviewer: @Krishna2323 owed $175 via NewDot
BugZero Checklist (@mallenexpensify)
melvin-bot commentedon Nov 5, 2026
@mallenexpensify Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!
melvin-bot commentedon Nov 5, 2026
@mallenexpensify Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!
melvin-bot commentedon Nov 5, 2026
@mallenexpensify Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!
mallenexpensify commentedon Nov 5, 2026
@Krishna2323 plz complete the Contributor+ checklist and tag me in a post once you have. Thx
@Krishna2323 this issue and/or PR mention a deploy blocker or a regression. Before the payment date, post one of the three options in step 20 of the C+ doc: it was a regression, it was not, or you did not review the offending PR. If you don't post, the default is to reduce payment.
I'm assuming this isn't due payment.
Krishna2323 commentedon Nov 10, 2026
@mallenexpensify This was a regression, so no payment is needed. I'll handle the checklist in the original PR issue. Sorry for not mentioning that earlier!