Repository navigation
Spend-Hybrid-Tap on checkbox does not select the group - #96208
Conversation
|
@ZhenjaHorbach Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2562ee5207
ℹ️ 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".
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
|
@lorretheboy |
|
@ZhenjaHorbach Pipelines are all green now |
|
@ZhenjaHorbach Friendly bump |
|
Sorry for the delay |
| const isEmpty = transactions.length === 0 && groupItem.transactions.length === 0 && !groupItem.transactionsQueryJSON; | ||
|
|
||
| const isEmptyReportSelected = isEmpty && item?.keyForList && selectedTransactions[item.keyForList]?.isSelected; | ||
| const isEmptyReportSelected = transactions.length === 0 && isGroupSelected; |
There was a problem hiding this comment.
Should we use isEmpty instead transactions.length === 0 here?
There was a problem hiding this comment.
I think isEmpty is intentionally false for a lazy group, while this line needs to be true in exactly that case so the checkbox stays checked before the children load. Using isEmpty here would bring back the original bug @ZhenjaHorbach
There was a problem hiding this comment.
Okay then
Makes sense!
Reviewer Checklist
Screenshots/VideosAndroid: HybridApp2026-07-28.10.33.47.movAndroid: mWeb Chrome2026-07-28.10.44.18.moviOS: HybridApp2026-07-28.10.33.47.moviOS: mWeb Safari2026-07-28.10.24.49.movMacOS: Chrome / Safari2026-07-28.10.23.07.mov |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚧 JS00001 has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/JS00001 in version: 9.4.46-0 🚀
|
|
🤖 Help site review: no changes required I reviewed the changes in this PR and no updates to the help site files under Why: This is an internal bug fix. It restores the intended interaction — tapping a checkbox to select a
The existing help articles already describe the expected behavior; this fix simply makes the UI match it. Checkbox/selection-mode mechanics aren't documented on the help site, and no article needs to change to reflect this fix. If you believe a specific article should be updated regardless, let me know which one and I'll draft it. |
|
🚀 Deployed to production by https://github.com/marcaaron in version: 9.4.46-10 🚀
Bundle Size Analysis (Sentry): |
Explanation of Change
Fixed Issues
$ #95369
PROPOSAL: #95369 (comment)
Tests
Preconditions:
Account that has many expenses
Offline tests
QA Steps
Preconditions:
Account that has many expenses
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)Avatar, 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.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-website.mov
Android: mWeb Chrome
Screen.Recording.2026-07-15.at.14.30.01.mov
iOS: Native
ios.mov
iOS: mWeb Safari
ios-website.mov
MacOS: Chrome / Safari
website.mov