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
Spend-Search input is hidden in landscape mode. #105228
Version Number: V9.5.24-2 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:#104668 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: Redmi note 10s android 13 App Component: User Settings
Action Performed:
Launch app
Go to spend - expenses
Turn landscape
Try to focus on input field
Expected Result:
Search input must not be hidden in landscape mode.
👋 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: The PR added a search input to the Filters page but placed it above the ScrollView, not inside it. On Android in landscape, the keyboard opens when the input gets focus. That leaves too little height between the fixed header and the fixed Reset / Apply filters footer, so the input is clipped and can't be scrolled back into view.
Recommendation: fix forward. Reverting would undo a 24-file reorganization for a landscape-only Android edge case on a feature that isn't in production yet. If a fix can't merge before the deploy, revert #104668.
Investigation details
Which input is hidden. This is the new "Search filters" input on Spend > Expenses > Filters, not the main Spend search bar. Applause tested PR #104668 and marked the bug as "new feature, doesn't exist in prod". A sibling report from the same pass, [$175] Android - Spend - Search field is not full width in landscape mode, describes the same input. In landscape, tapping Filters opens the full-screen Filters page instead of the popover.
Mechanism:
FilterList.tsx:152-170: CompactSearchBar (line 153) sits above the ScrollView (line 170) inside a flex1 view.
SearchAdvancedFiltersBase.tsx:53-122: inside a keyboard-avoiding ScreenWrapper, the header and the button footer have fixed heights. Only FilterList shrinks.
Rough landscape numbers for this device: about 365dp usable height, minus about 200–230dp of keyboard, minus 144dp of header and footer. That leaves about 0–20dp, but the input needs about 58dp.
Before this PR, the page had no text input, so the keyboard never opened there.
Other PRs ruled out. I checked the other App PRs in the 9.5.24-2 checklist. Only [No QA] Disallow manual memoization in compiled React code touches keyboard or header components, and it only removes useMemo. It doesn't change behavior.
Possible fixes:
Hide the Reset / Apply filters footer while the keyboard is shown in landscape. The isKeyboardShown pattern is already used elsewhere in src/pages.
Or move the input into the scrolling area so it can't be clipped.
Activity
applause-bot commentedon Oct 28, 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/f3d7fabdbf9faf4f3c4e74e0c811b558131afe909a49f8a07d440128949bccce
melvin-bot commentedon Oct 28, 2026
You have been assigned to this deploy blocker because you recently merged this PR: #104668
melvin-bot commentedon Oct 28, 2026
@JS00001 @daledah you have been assigned to this deploy blocker because you reviewed the offending PR: #104668
melvin-bot commentedon Oct 28, 2026
@Krishna2323 you have been assigned to this deploy blocker because you authored the offending PR: #104668
melvin-bot commentedon Oct 28, 2026
💬 A slack conversation has been started in #expensify-open-source
github-actions commentedon Oct 28, 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 28, 2026
Deploy Blocker Analysis
Causing PR (high confidence): Reorganize the Search Filters page into clearer sections and add a filter search (
Expensify/App#104668). The current assignees (Krishna2323,daledah,JS00001) match that PR.Root cause: The PR added a search input to the Filters page but placed it above the
ScrollView, not inside it. On Android in landscape, the keyboard opens when the input gets focus. That leaves too little height between the fixed header and the fixed Reset / Apply filters footer, so the input is clipped and can't be scrolled back into view.Recommendation: fix forward. Reverting would undo a 24-file reorganization for a landscape-only Android edge case on a feature that isn't in production yet. If a fix can't merge before the deploy, revert #104668.
Investigation details
Which input is hidden. This is the new "Search filters" input on Spend > Expenses > Filters, not the main Spend search bar. Applause tested PR #104668 and marked the bug as "new feature, doesn't exist in prod". A sibling report from the same pass, [$175] Android - Spend - Search field is not full width in landscape mode, describes the same input. In landscape, tapping Filters opens the full-screen Filters page instead of the popover.
Mechanism:
FilterList.tsx:152-170:CompactSearchBar(line 153) sits above theScrollView(line 170) inside aflex1view.SearchAdvancedFiltersBase.tsx:53-122: inside a keyboard-avoidingScreenWrapper, the header and the button footer have fixed heights. OnlyFilterListshrinks.Other PRs ruled out. I checked the other App PRs in the 9.5.24-2 checklist. Only [No QA] Disallow manual memoization in compiled React code touches keyboard or header components, and it only removes
useMemo. It doesn't change behavior.Possible fixes:
isKeyboardShownpattern is already used elsewhere insrc/pages.The open PR Make the Search filters input full width in landscape on mobile fixes only the width issue in #105197. It doesn't fix this bug, so add the fix there or in a follow-up.
Limits. I couldn't watch the Applause video or test on Android, so this conclusion comes from code analysis.
view run
JS00001 commentedon Oct 28, 2026
@Krishna2323 lets fix this but not block on it