fix: Restrict sticky group headers to explicit groupBy queries only#93507
Conversation
Signed-off-by: krishna2323 <belivethatkg@gmail.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8d12f72e61
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / Safari |
|
🚧 @yuwenmemon has triggered a test Expensify/App build. You can view the workflow run here. |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
…gression fix: Restrict sticky group headers to explicit groupBy queries only (cherry picked from commit ad49528) (cherry-picked to staging by yuwenmemon)
|
🚀 Cherry-picked to staging by https://github.com/yuwenmemon in version: 9.4.7-1 🚀
Bundle Size Analysis (Sentry): |
|
🤖 No help site changes required. This PR is an internal regression fix. It removes a single condition so the sticky group-header / split-rendering path only activates for explicit Why no docs update is needed:
No draft PR was created since there is nothing to update. If you believe a docs update is warranted, let me know what behavior should be documented and I'll create a draft PR. |
|
🚀 Deployed to production by https://github.com/puneetlath in version: 9.4.7-4 🚀
|
|
🚀 Cherry-picked to staging by https://github.com/yuwenmemon in version: 9.4.8-0 🚀
Bundle Size Analysis (Sentry): |
Help site review — no changes requiredI reviewed the changes in this PR against the help site articles under Conclusion: No help site updates are required. Why: This PR is an internal rendering fix. It removes a single condition ( The diff touches one line in
Since nothing user-facing changed and no documented behavior was altered (only restored), there is no draft help site PR to create. |
|
🚀 Cherry-picked to staging by https://github.com/yuwenmemon in version: 9.4.8-0 🚀
Bundle Size Analysis (Sentry): |
|
🤖 No help site changes required. This PR is an internal rendering bug fix. It removes the It restores previously-existing behavior (no new feature, no UI/label/setting change, no change to documented user-facing workflows), so nothing under @Krishna2323, if you believe a user-facing behavior here is documented and worth updating, reply with the specific article and I'll take another look. |
|
🚀 Deployed to production by https://github.com/puneetlath in version: 9.4.8-3 🚀
|
Explanation of Change
This PR accidentally included
type === EXPENSE_REPORTin the condition that activates the newGroupHeader/GroupChildrenContainersplit-rendering path. This bypassedExpenseReportListItemon large screens, causing 10+ regressions (Pay, Approve, selection, violations, etc.).The rendering pipeline was never designed for this —
getListItem()always returnsExpenseReportListItemforEXPENSE_REPORTtype, andTransactionGroupListItemonly for explicitgroupByqueries. The split path should follow the same logic.App/src/libs/SearchUIUtils.ts
Lines 3563 to 3580 in f568f8b
The fix removes that condition so the split only activates for explicit
groupBy, restoring the Reports tab toExpenseReportListItem.Fixed Issues
$ #88926
$ #93485
$ #93486
$ #93488
$ #93489
$ #93491
$ #93492
$ #93494
$ #93495
$ #93496
$ #93493
PROPOSAL:
Tests
Offline tests
QA Steps
Same as tests
Verify that no errors appear in the JS console
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
Monosnap.screencast.2026-06-13.06-36-33.mp4