Remove deprecated nextstep format - #97202
Conversation
…ldOptimisticFixIssueNextStep
Codecov Report❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.
|
…with buildOptimisticFixIssueNextStep
… with buildOptimisticFixIssueNextStep
|
Hey, I noticed you changed If you want to automatically generate translations for other locales, an Expensify employee will have to:
Alternatively, if you are an external contributor, you can run the translation script locally with your own OpenAI API key. To learn more, try running: npx ts-node ./scripts/generateTranslations.ts --helpTypically, you'd want to translate only what you changed by running |
|
@chuckdries 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: e7b70920b9
ℹ️ 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".
|
|
||
| return ''; | ||
| }, [nextStep, translate, currentUserAccountID, currentUserEmail]); | ||
| return buildNextStepMessage(nextStep, translate, currentUserAccountID); |
There was a problem hiding this comment.
Parse monthly ETA dates as local dates
After removing the deprecated message branch, monthly scheduled-submit messages always go through buildNextStepMessage; for numeric monthly offsets the optimistic next step stores eta.dateTime as a date-only yyyy-MM-dd string, and that path parses it with new Date(dateTime). In US/negative time zones, date-only strings are interpreted as UTC midnight, so an offset like the 2nd renders as the 1st. Please parse these ETAs as local dates or avoid date-only strings before relying exclusively on this renderer.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
I don't think this is an issue? If harvesting will run on 2nd but in your timezone that's still 1st then showing 1st would not be incorrect
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / Safari |
Explanation of Change
buildOptimisticNextStepForPreventSelfApprovalsEnabledto use the new next step formatbuildOptimisticNextStepForStrictPolicyRuleViolationswithbuildOptimisticFixIssueNextStepbuildOptimisticNextStepForDynamicExternalWorkflowSubmitErrorwithbuildOptimisticFixIssueNextStepbuildOptimisticNextStepForDynamicExternalWorkflowApproveErrorwithbuildOptimisticFixIssueNextStepbuildOptimisticNextStepForDEWOfflineI don't see why this was only added for DEW. - Removing this will not show any "offline" nextStep (same as other non-DEW cases)dotIndicatoricon - Backend does not set this, it was only used by the optimistic functions that I replaced/removed abovewaitingForPolicyBankAccountmessage key, this is already removed from backendbuildNextStepNew, we are now usingbuildOptimisticNextStepdeprecatedGetPersonalDetailsByIDsanddeprecatedGetLoginsByAccountIDs, they were only used in the now-removedbuildNextStepNewFixed Issues
https://github.com/Expensify/Expensify/issues/528713
PROPOSAL:
Tests
Waiting for [Submitter name / you] to add expenses.Waiting for [Submitter name / you] to fix the issuesWaiting for [Submitter name / you] to submit expensesWaiting for [Approver name / you] to approve expensesWaiting for [Approver name / you] to pay expensesNo further action required!Screen.Recording.2026-08-03.at.10.38.01.AM.mov
Offline tests
Same as Tests
QA Steps
Same as Tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, 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: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari