Bump Onyx to 3.0.89#93436
Conversation
…onyx-store-poc-baseline
|
|
(cherry picked from commit 535279b)
The waitForCollectionCallback connect option no longer exists in Onyx store-based PR 1, so remove all usages across the app. Collection-root subscriptions now always deliver snapshots, so the now-properly-typed snapshot callbacks no longer need the `as unknown as Record<...>` casts; rebuild the rawID-keyed views with a plain `.replace()`. Also fix a couple of resulting test type errors: type the collected collection vars in ReportTest as non-undefined, and cast the resolved value in the getOnyxValue single-key helper.
04ce43b to
6008df2
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.
|
…onyx-store-poc-baseline
…e-pr-1 # Conflicts: # package-lock.json # package.json # src/libs/actions/SplitExpenses.ts
|
@codex review |
|
Codex Review: Didn't find any major issues. 🎉 Reviewed commit: ℹ️ 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". |
…e-pr-1 # Conflicts: # src/libs/actions/Transaction.ts
…e-pr-1 # Conflicts: # package-lock.json # package.json # src/libs/IOUAmountSubmission.ts # src/libs/actions/Policy/Policy.ts # src/libs/actions/Report/index.ts # src/libs/actions/replaceOptimisticReportWithActualReport.ts # tests/actions/IOUTest/SplitTest.ts # tests/utils/getOnyxValue.ts
|
🚧 mountiny has triggered a test Expensify/App build. You can view the workflow run here. |
This comment has been minimized.
This comment has been minimized.
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppScreen.Recording.2026-07-08.at.22.04.16.moviOS: mWeb SafariMacOS: Chrome / SafariScreen.Recording.2026-07-08.at.21.55.04.mov |
|
conflicts |
# Conflicts: # src/libs/actions/Report/index.ts
|
@truph01 any eta? thanks |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚧 mountiny 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! 🧪🧪
|
The revert of PR Expensify#93436 reintroduced a namespace import in src/libs/actions/Report/index.ts and a redundant type assertion in tests/actions/IOUTest/SplitTest.ts, pushing both files over their eslint-seatbelt error budgets and breaking lint on main. Co-authored-by: Cursor <cursoragent@cursor.com>
Reverts the coalescing engine that caused deploy blockers, scoped to just the OnyxDerived changes on top of current main. Restores the synchronous, per- dependency recompute engine (Onyx sourceValue based) and keeps waitForCollectionCallback, matching main's current Onyx 3.0.86 (the onyx-store work that removed it, #93436, was already reverted separately). Removes getCollectionDelta, scheduleMacrotask, and the triggeredKeys/flush changes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Explanation of Change
Bumps Onyx to 3.0.89, which includes this changes:
Fixed Issues
$ #94331
PROPOSAL:
Tests
We are basically just removing
waitForCollectionCallbackusage here, functionality should stay the same so we only need to test the two files where we actually did some meaningful change (Report/index.tsandreplaceOptimisticReportWithActualReport.ts).Offline tests
N/A
QA Steps
Same as Tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand 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
Screen.Recording.2026-06-30.at.08.46.47.mov
iOS: mWeb Safari
MacOS: Chrome / Safari
Screen.Recording.2026-06-30.at.08.40.31.mov