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-05] [$175] Android - Spend - Search field is not full width in landscape mode #105197
Version Number: 9.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):sjodinjoisdjoisjio@gmail.com Issue reported by: Applause Internal Team Bug source: Exploratory - Significant User Experience Deterioration Device used: Samsung Galaxy S25 FE / Android 16 App Component: Search
Action Performed:
Launch Expensify app.
Go to Spend > Expenses.
Open Filters.
Rotate device to landscape.
Expected Result:
Search field will be full width 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.
The PR added a "Search filters" input to the Filters page. That input uses CompactSearchBar, which limits its width to 300px on phones in landscape. On the Filters page, the input sits alone above the list, so the 300px limit makes it look broken.
Suggested one-line fix: in FilterList.tsx:157, change style={styles.mb3} to style={[styles.mb3, styles.mw100]}.
Reverting would remove the whole Filters reorganization (24 files), which is too much for a small visual bug. If the fix can't land before the deploy, demoting the issue is a reasonable fallback.
📋 Detailed analysis
Why this PR: Before Reorganize the Search Filters page into clearer sections and add a filter search, the Filters page had no search input. The PR is on the current staging deploy checklist. It merged at 18:01 UTC on 2026-10-27, about five hours before the bug was reported. This matches "new feature, not on production."
Why the fix is safe: The landscape limit was added on purpose in Use dekstop layout for header buttons in landscape mode (Expensify/App#87256), for headers where the search bar sits next to buttons. Overriding it only at the FilterList call site keeps that behavior elsewhere. The style prop comes after searchBarWidth(...), so mw100 (maxWidth: '100%') wins. The web Filters popover is not affected, because its filter column is already narrower than 300px.
Testing: I diagnosed this from the code. I didn't run the app, because the test environment is web-only and this bug only appears in Android landscape.
Labels: No changes. DeployBlockerCash stays because an App PR caused this.
Next Steps: Reply with @MelvinBot implement this to create a draft PR, or @MelvinBot <your feedback> to refine this analysis.
The fix is one line in FilterList.tsx: the "Search filters" input now gets styles.mw100, which overrides the 300px landscape cap for this input only.
ESLint, typecheck, the React Compiler check, and the related Jest suites (44 tests) passed. I couldn't verify on Android here, so please test landscape on an Android device before marking it ready.
changed the title [-]Android - Spend - Search field is not full width in landscape mode[/-][+][$175] Android - Spend - Search field is not full width in landscape mode[/+]on Oct 28, 2026
changed the title [-][$175] Android - Spend - Search field is not full width in landscape mode[/-][+][Due for payment 2026-11-05] [$175] Android - Spend - Search field is not full width in landscape mode[/+]on Oct 29, 2026
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.5.24-8 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-11-05. 🎊
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
melvin-bot commentedon Oct 27, 2026
You have been assigned to this deploy blocker because you recently merged this PR: #104668
applause-bot commentedon Oct 27, 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/ea748f1fa6bc421e85a7393fd70775ce08ee07b9344d8963b02dc6f51423b2b1
melvin-bot commentedon Oct 27, 2026
@JS00001 @daledah you have been assigned to this deploy blocker because you reviewed the offending PR: #104668
melvin-bot commentedon Oct 27, 2026
@Krishna2323 you have been assigned to this deploy blocker because you authored the offending PR: #104668
melvin-bot commentedon Oct 27, 2026
💬 A slack conversation has been started in #expensify-open-source
github-actions commentedon Oct 27, 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 27, 2026
🔍 Investigation Summary
Classification: Frontend bug
Causing PR: Reorganize the Search Filters page into clearer sections and add a filter search (
Expensify/App#104668) byKrishna2323(high confidence)Recommendation: roll forward
The PR added a "Search filters" input to the Filters page. That input uses
CompactSearchBar, which limits its width to 300px on phones in landscape. On the Filters page, the input sits alone above the list, so the 300px limit makes it look broken.Suggested one-line fix: in
FilterList.tsx:157, changestyle={styles.mb3}tostyle={[styles.mb3, styles.mw100]}.Reverting would remove the whole Filters reorganization (24 files), which is too much for a small visual bug. If the fix can't land before the deploy, demoting the issue is a reasonable fallback.
📋 Detailed analysis
Why this PR: Before Reorganize the Search Filters page into clearer sections and add a filter search, the Filters page had no search input. The PR is on the current staging deploy checklist. It merged at 18:01 UTC on 2026-10-27, about five hours before the bug was reported. This matches "new feature, not on production."
Mechanism:
CompactSearchBartoFilterList.tsx#L153-L159and passes onlystyles.mb3.searchBarWidth(shouldUseNarrowLayout && !isInLandscapeMode)inBaseSearchBar.tsx#L47.styles/index.ts#L7542-L7544setsmaxWidthto'100%'when that value is true, and300otherwise.shouldUseNarrowLayoutis alwaystrue(useResponsiveLayout/index.native.ts#L37). When you rotate the phone,isInLandscapeModebecomestrue(isInLandscapeMode/index.native.ts#L10). The result ismaxWidth: 300.Why the fix is safe: The landscape limit was added on purpose in Use dekstop layout for header buttons in landscape mode (
Expensify/App#87256), for headers where the search bar sits next to buttons. Overriding it only at theFilterListcall site keeps that behavior elsewhere. Thestyleprop comes aftersearchBarWidth(...), somw100(maxWidth: '100%') wins. The web Filters popover is not affected, because its filter column is already narrower than 300px.Testing: I diagnosed this from the code. I didn't run the app, because the test environment is web-only and this bug only appears in Android landscape.
Labels: No changes.
DeployBlockerCashstays because an App PR caused this.Next Steps: Reply with
@MelvinBot implement thisto create a draft PR, or@MelvinBot <your feedback>to refine this analysis.view run
daledah commentedon Oct 28, 2026
@MelvinBot implement this
MelvinBot commentedon Oct 28, 2026
🤖 Draft PR created: Make the Search filters input full width in landscape on mobile
Please mark it as "Ready for review" or ask me to do that for you when it is ready for review.
The fix is one line in
FilterList.tsx: the "Search filters" input now getsstyles.mw100, which overrides the 300px landscape cap for this input only.ESLint, typecheck, the React Compiler check, and the related Jest suites (44 tests) passed. I couldn't verify on Android here, so please test landscape on an Android device before marking it ready.
view run · no recording available
[-]Android - Spend - Search field is not full width in landscape mode[/-][+][$175] Android - Spend - Search field is not full width in landscape mode[/+]melvin-bot commentedon Oct 28, 2026
Job added to Upwork: https://www.upwork.com/jobs/~022115314363636060468
JS00001 commentedon Oct 28, 2026
cping a fix
m-natarajan commentedon Oct 28, 2026
Xiaomi Redmi Note 10 / Android 12, app 9.5.24-6, Passed
Screenrecorder-2026-10-28-20-03-59-420.mp4
[-][$175] Android - Spend - Search field is not full width in landscape mode[/-][+][Due for payment 2026-11-05] [$175] Android - Spend - Search field is not full width in landscape mode[/+]melvin-bot commentedon Oct 29, 2026
@Krishna2323 / @daledah
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.5.24-8 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-11-05. 🎊
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]