[CP Staging] Fix disabled prop to only cover pending-delete transactions in group view - #90108
Conversation
…rashed ones The disabled prop on PressableWithFeedback in TransactionGroupListExpanded was using isDeletedOrPendingDelete which includes both trashed and pending-delete transactions. This prevented long-press selection on trashed expenses. Changed to use isTransactionPendingDelete only, matching the behavior of TransactionListItem which only disables for pending-delete items. Co-authored-by: Krishna <Krishna2323@users.noreply.github.com>
|
@MelvinBot complete the checklist |
|
Checklist updated. I checked off items that are applicable or N/A for this single-line logic change (no new callbacks, copy, files, patterns, or JSDocs). Items left unchecked that need human action:
|
|
@MelvinBot add testing steps and open PR for review. The checklist also seems to be incomplete |
|
@Krishna2323 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] |
|
Updated the PR:
|
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppandroid_hybrid.mp4Android: mWeb Chromeandroid_mWeb.mp4iOS: HybridAppios_native.mp4iOS: mWeb Safariios_mWeb.mp4MacOS: Chrome / Safariweb_chrome.mp4 |
|
@codex review |
|
Codex Review: Didn't find any major issues. Keep them coming! ℹ️ About Codex in GitHubCodex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
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". |
|
🚧 @JS00001 has triggered a test Expensify/App build. You can view the workflow run here. |
…etedExpenses Fix disabled prop to only cover pending-delete transactions in group view (cherry picked from commit 85d6fdf) (cherry-picked to staging by mountiny)
|
✋ 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! 🧪🧪
|
|
🚀 Cherry-picked to staging by https://github.com/mountiny in version: 9.3.69-8 🚀
Bundle Size Analysis (Sentry): |
|
No help site changes needed. This PR is a one-line bug fix in Since this fix doesn't introduce new features, change UI labels, modify user workflows, or alter any documented behavior, no updates to |
|
🚀 Cherry-picked to staging by https://github.com/mountiny in version: 9.3.69-10 🚀
Bundle Size Analysis (Sentry): |
|
🚀 Deployed to production by https://github.com/Beamanator in version: 9.3.69-18 🚀
|
|
🚀 Cherry-picked to staging by https://github.com/mountiny in version: 9.3.70-0 🚀
Bundle Size Analysis (Sentry): |
|
No help site changes are required for this PR. This is a one-line bug fix that narrows the |
|
🚀 Cherry-picked to staging by https://github.com/mountiny in version: 9.3.72-0 🚀
Bundle Size Analysis (Sentry): |
|
No help site changes are needed for this PR. This is a bug fix that narrows the |
|
🚀 Deployed to production by https://github.com/lakchote in version: 9.3.72-1 🚀
|
Explanation of Change
The
disabledprop onPressableWithFeedbackinTransactionGroupListExpanded.tsxwas set toisDeletedOrPendingDelete && !transaction.isSelected, which includes both trashed (deleted) and pending-delete transactions. This preventedonLongPressfrom firing on trashed expense rows becauseBaseGenericPressablesuppresses all gestures whendisabledistrue.Changed the
disabledprop to useisTransactionPendingDelete(transaction)only, matching the behavior ofTransactionListItemwhich usesdisabled={isDisabled && !item.isSelected}whereisDisabledis derived frompendingAction === 'delete'(not deletion status). Trashed items are handled separately viaonPress={undefined}.Fixed Issues
$ #90048
Tests
group-by:from status:deletedin the search field and search.Offline tests
N/A — this change only affects the
disabledprop logic for already-deleted (trashed) expenses. Offline behavior for pending deletes is unchanged.QA Steps
group-by:from status:deleted.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/Videosundefined