Resolve @ts-expect-error comments related to OnyxUpdate changes - first batch#82255
Conversation
// @ts-expect-error - will be solved in https://github.com/Expensify/App/issues/73830 comments@ts-expect-error - will be solved in https://github.com/Expensify/App/issues/73830 comments
…to @OlGierd03/remove-all-ts-expect-errors-comments
@ts-expect-error - will be solved in https://github.com/Expensify/App/issues/73830 comments@ts-expect-error - will be solved in https://github.com/Expensify/App/issues/73830 comments - first batch
27298bc to
fd288e5
Compare
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.
|
…to @OlGierd03/remove-all-ts-expect-errors-comments
@ts-expect-error - will be solved in https://github.com/Expensify/App/issues/73830 comments - first batch@ts-expect-error - will be solved in https://github.com/Expensify/App/issues/73830 comments - first batch
@ts-expect-error - will be solved in https://github.com/Expensify/App/issues/73830 comments - first batch@ts-expect-error comments related to OnyxUpdate changes - first batch
d94f8f2 to
a3742c6
Compare
|
It's ready now. I've resolved the mentioned conflicts and made sure that the most problematic change won't cause regression. I've also added extra test steps to help you test it ( |
|
@codex review |
|
Codex Review: Didn't find any major issues. Nice work! ℹ️ 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". |
@abzokhattab all yours |
|
Awesome .. thanks for the hard work.. i am looking into it now |
|
@codex review |
|
@MelvinBot review |
Deep ReviewVerdict: No blocking issues. All Search failure handling (highest-risk change)The
The guards at
|
| Change | Verification |
|---|---|
errorFields → errors |
ReportAction has errors, not errorFields. Consumer reads action.errors |
private_isArchived: true/false → currentTime/null |
Type is string | undefined, not boolean |
dismissedMethod: 'click' as const |
Type expects 'click' | 'x' literal union |
lastTravelSignupRequestTime: Date.now().toString() |
Type is string |
cardID: cardID.toString() |
Form values expect string |
DistanceExpenseType expanded |
Added DISTANCE_GPS and DISTANCE_ODOMETER to match all distance request types |
reportNextStep threaded through changeReportPolicyAndInviteSubmitter |
Caller reads from Onyx and passes correctly; fixes the undefined that was previously hardcoded |
Minor observations (non-blocking)
OnyxSearchResponsetype atSearch.ts:90still definesdata: [](empty tuple) — stale typing that could be cleaned up separatelydismissedMethod: 'click'is correctly added to thebuildOnyxDataForMoneyRequesttooltip dismissal (matching the pattern inWelcome/index.ts)
Overall this is a well-executed batch of type fixes with thorough test coverage for the behavioral changes.
|
Codex Review: Didn't find any major issues. Can't wait for the next one! ℹ️ 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". |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / SafariScreen.Recording.2026-04-14.at.01.14.10.movScreen.Recording.2026-04-14.at.01.14.43.movScreen.Recording.2026-04-14.at.02.23.10.movScreen.Recording.2026-04-14.at.02.23.35.movScreen.Recording.2026-04-17.at.02.47.30.movScreen.Recording.2026-04-17.at.02.49.01.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. |
|
🚧 @Julesssss 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/Julesssss in version: 9.3.61-0 🚀
Bundle Size Analysis (Sentry): |
|
I reviewed the changes in this PR. It resolves No help site documentation changes are required. There are no user-facing feature additions, UI changes, or workflow modifications in this PR. |
|
This PR failing because of the issue #88423 |
|
Deploy Blocker #88423 was identified to be related to this PR. |
It has been confirmed that the issue is unrelated to this PR and it has now been demoted |
|
🚀 Deployed to production by https://github.com/marcaaron in version: 9.3.61-4 🚀
|
Explanation of Change
This PR resolves the first batch of
@ts-expect-error - will be solved in https://github.com/Expensify/App/issues/73830comments, which are now ready to be addressed as shown in the issue progress overviewFixed Issues
$ #73830
Tests
src/libs/actions/IOU/index.ts - buildOnyxDataForMoneyRequest
IOU_index.ts_2225.mp4
Prereq: Use a new account where you have never sent an expense or scanned a receipt.
+button > Create new Expense+button > Create new Expensesrc/libs/actions/IOU/index.ts - trackExpense
IOUindex.ts_7568.mp4
+button >Track Distance+button >Track Distancesrc/libs/actions/IOU/index.ts - rejectMoneyRequest (`optimisticData`)
IOUindex.ts_13565_short.mp4
Prereq: 2 accounts in the same workspace with approve workflow enabled (1 member account, 1 approver account)
Mark as resolvedsrc/libs/actions/IOU/index.ts - rejectMoneyRequest (`failureData`)
IOUindex.ts_1362.mp4
Prereq: 2 accounts in the same workspace with approve workflow enabled (1 member account, 1 approver account)
Account>TroubleShoot> ToggleSimulate failing network requestsMark as resolvedsrc/libs/actions/Policy/Member.ts - removeMembers
Policy_Member.ts_519.mp4
Workspaces>[your workspace]>MembersRemove member>Removesrc/libs/actions/Report/index.ts - buildNewReportOptimisticData
Report_index.ts.mp4
Account>TroubleShoot> ToggleSimulate failing network requestsInbox>[your workspace]>+>Create ReportUnexpected error creating this chat. Please try again later.appearssrc/libs/actions/Search.ts - getOnyxLoadingData
AfterChange.mov
SearchAccount>TroubleShoot> ToggleSimulate failing network requestsSearchand notice errorOops... Something went wrongappearsOops... Something went wrongshould appear againOffline tests
N/A
QA Steps
Same as tests
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
For the convenience of the reviewer, all the videos have been attached in the test steps for the appropriate cases.
Note
The changes in this PR are platform indifferent as they are only onyx-related