[Onyx Audit] Migrate keys to RAM-only part 3/3#86660
[Onyx Audit] Migrate keys to RAM-only part 3/3#86660JKobrynski wants to merge 19 commits intoExpensify:mainfrom
Conversation
…tWithStoredValues, add initial state
…-migrate-keys-to-ram-only-part-3
…-migrate-keys-to-ram-only-part-3
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
|
@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] |
|
@Krishna2323 can you review please? |
|
Reviewing... |
|
Couldn’t finish testing yesterday—will take another pass shortly. This needs thorough testing since it changes keys that previously caused regressions. |
|
No new product considerations - removing my assignment and unsubscribing. |
|
Reviewing... |
|
@fabioh8010 I tested all scenarios on iOS/Android (native + mWeb), and on desktop web this was the final one to verify—turns out it’s still not fixed 😭🤣 Monosnap.screencast.2026-04-14.01-16-53.mp4 |
|
How is this looking @fabioh8010 |
|
@mountiny @Krishna2323 I'm back so I will be helping Fabio with this or taking over from here! I'm on it |
|
@Krishna2323 ok so when I initially checked this it was working for me, but then I realised the branch was updated while I was OOO. I pulled the latest changes and the flow is indeed failing. It looks like some of the latest changes must've caused this. I'm searching through them to find the cause. |
…-migrate-keys-to-ram-only-part-3
|
@JKobrynski please also check: #88328 (comment) |
|
@Krishna2323 Julian left the project, I will handle this PR from now on |
…-migrate-keys-to-ram-only-part-3
|
Addressed #88328 (comment) in 33d6902 Julian showed me that we were still missing migration of I transferred the changes to this PR in d998f91 and didn't find any issues.
Screen.Recording.2026-04-21.at.15.16.11.mov
Screen.Recording.2026-04-21.at.15.35.42.mov |
|
@Krishna2323 could you review again? Thanks! |
|
thanks for the updates. Will review today. |
|
@Krishna2323 how is it looking? |
Explanation of Change
Coming from this comment. The main goal of this PR is to remove
initWithStoredValuesfrom keys that turned out to be more problematic than anticipated during migration part 1. At the moment, it's about migrating the following keys:IS_CHECKING_PUBLIC_ROOMIS_LOADING_APPIS_LOADING_REPORT_DATAPLAID_LINK_TOKENDisclaimer:
"Migration" doesn't mean that keys need to be migrated to RAM-only, it means we should remove
initWithStoredValuesparam from their calls and consider whether or not they should be migrated or not (and apply adjustments if necessary to maintain functionality).Fixed Issues
$ #80091
PROPOSAL: N/A
Tests
IS_CHECKING_PUBLIC_ROOM
Deep link sign-in (Android/iOS)
Public room deep link (web)
https://dev.new.expensify.com/r/<publicRoomID>)Normal app load
HybridApp
IS_LOADING_APP
Normal app load
npm run web)IS_LOADING_REPORT_DATA
Normal app load
Concierge chat
Onboarding (fresh account)
PLAID_LINK_TOKEN
Workspace bank account connection
Re-entering the Plaid flow
Offline tests
IS_LOADING_APP
IS_LOADING_REPORT_DATA
Let the app fully load
Go offline and refresh
Expected: App renders with cached data, no infinite loading state
Enable airplane mode / disconnect from network
Open the app (cold start)
Confirm the splash screen disappears and the app loads (offline mode)
If a deep link was used, confirm the sign-in page is shown (not a forever-loading splash)
Disable airplane mode and confirm the app reconnects normally
PLAID_LINK_TOKEN
QA Steps
Same as Tests section above
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-compressed.webm
Android: mWeb Chrome
iOS: Native
ios-compressed.mp4
iOS: mWeb Safari
MacOS: Chrome / Safari
web-compressed.mov