Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
496b702
convert ONYXKEYS.IS_CHECKING_PUBLIC_ROOM to a regular key with no ini…
JKobrynski Mar 30, 2026
cfdb910
Merge remote-tracking branch 'origin/main' into JKobrynski/feat/80091…
JKobrynski Apr 1, 2026
cdfedb1
implement a hook that emulates initWithStoredValues: false
JKobrynski Apr 3, 2026
5bf7459
Merge branch 'main' into JKobrynski/feat/80091-migrate-keys-to-ram-on…
JKobrynski Apr 9, 2026
a362da6
Merge remote-tracking branch 'origin/main' into JKobrynski/feat/80091…
JKobrynski Apr 10, 2026
a83bd56
replace custom hook solution with initialUrl gate
JKobrynski Apr 10, 2026
382b6a2
remove initWithStoredValues from IS_LOADING_APP
JKobrynski Apr 10, 2026
35012d8
remove initWithStoredValues from IS_LOADING_REPORT_DATA, prevent regr…
JKobrynski Apr 10, 2026
934b41b
migrate PLAID_LINK_TOKEN to RAM-only
JKobrynski Apr 10, 2026
14e9c00
Merge branch 'main' into JKobrynski/feat/80091-migrate-keys-to-ram-on…
fabioh8010 Apr 13, 2026
a91c68e
Merge branch 'main' into JKobrynski/feat/80091-migrate-keys-to-ram-on…
fabioh8010 Apr 15, 2026
1df2658
Merge remote-tracking branch 'origin/main' into JKobrynski/feat/80091…
JKobrynski Apr 17, 2026
262a304
fix: remove USDBankAccountStep from effect deps to avoid race with pr…
JKobrynski Apr 17, 2026
e939ecf
Merge branch 'main' into JKobrynski/feat/80091-migrate-keys-to-ram-on…
fabioh8010 Apr 21, 2026
31b54fc
Merge remote-tracking branch 'origin/main' into JKobrynski/feat/80091…
fabioh8010 Apr 21, 2026
d998f91
Migrate ISSUE_NEW_EXPENSIFY_CARD to RAM-only
fabioh8010 Apr 21, 2026
33d6902
Implement useHasFreshWalletData hook
fabioh8010 Apr 21, 2026
a18855d
Merge branch 'main' into JKobrynski/feat/80091-migrate-keys-to-ram-on…
fabioh8010 Apr 22, 2026
fcfd258
Merge branch 'main' into JKobrynski/feat/80091-migrate-keys-to-ram-on…
fabioh8010 Apr 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/CONST/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1903,6 +1903,7 @@ const CONST = {
SHOW_HOVER_PREVIEW_DELAY: 270,
SHOW_HOVER_PREVIEW_ANIMATION_DURATION: 250,
ACTIVITY_INDICATOR_TIMEOUT: 10000,
GET_INITIAL_URL_TIMEOUT: 10000,
MIN_SMOOTH_SCROLL_EVENT_THROTTLE: 16,
},
DEFERRED_LAYOUT_WRITE_KEYS: {
Expand Down
78 changes: 64 additions & 14 deletions src/DeepLinkHandler.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ type DeepLinkHandlerProps = {
*/
function DeepLinkHandler({onInitialUrl}: DeepLinkHandlerProps) {
const linkingChangeListener = useRef<NativeEventSubscription | null>(null);
const initialUrlProcessed = useRef(false);

const [allReports] = useOnyx(ONYXKEYS.COLLECTION.REPORT);
const [, sessionMetadata] = useOnyx(ONYXKEYS.SESSION);
Expand All @@ -39,24 +40,58 @@ function DeepLinkHandler({onInitialUrl}: DeepLinkHandlerProps) {
if (isLoadingOnyxValue(sessionMetadata, isSelfTourViewedMetadata)) {
return;
}
// If the app is opened from a deep link, get the reportID (if exists) from the deep link and navigate to the chat report
Linking.getInitialURL().then((url) => {
onInitialUrl(url as Route);

if (url) {
if (conciergeReportID === undefined) {
Log.info('[Deep link] conciergeReportID is undefined when processing initial URL', false, {url});
// Guard against stale closures: when deps change and the effect re-runs, the previous
// getInitialURL() promise may still be in-flight. Without this guard, its .then() would
// fire with stale conciergeReportID/introSelected values, causing a duplicate
// openReportFromDeepLink() call.
let cancelled = false;
let timeoutId: ReturnType<typeof setTimeout>;

// If the app is opened from a deep link, get the reportID (if exists) from the deep link and navigate to the chat report.
// We race against a timeout to prevent permanently blocking NavigationRoot if getInitialURL() never resolves
// (e.g. in HybridApp when OldDot fails to send the URL via native bridge).
Promise.race([
Linking.getInitialURL(),
new Promise<null>((resolve) => {
timeoutId = setTimeout(() => resolve(null), CONST.TIMING.GET_INITIAL_URL_TIMEOUT);
}),
])
.then((url) => {
if (cancelled) {
return;
}
if (introSelected === undefined) {
Log.info('[Deep link] introSelected is undefined when processing initial URL', false, {url});

initialUrlProcessed.current = true;
onInitialUrl(url as Route);

if (url) {
if (conciergeReportID === undefined) {
Log.info('[Deep link] conciergeReportID is undefined when processing initial URL', false, {url});
}
if (introSelected === undefined) {
Log.info('[Deep link] introSelected is undefined when processing initial URL', false, {url});
}
// Use hasAuthToken() for the latest auth state at call time, since the isAuthenticated
// closure value may be stale on cold start (useOnyx reports 'loaded' before storage completes).
const isCurrentlyAuthenticated = hasAuthToken();
openReportFromDeepLink(url, allReports, isCurrentlyAuthenticated, conciergeReportID, introSelected, isSelfTourViewed, betas);
} else {
Report.doneCheckingPublicRoom();
}
openReportFromDeepLink(url, allReports, isAuthenticated, conciergeReportID, introSelected, isSelfTourViewed, betas);
} else {
Report.doneCheckingPublicRoom();
}

endSpan(CONST.TELEMETRY.SPAN_BOOTSPLASH.DEEP_LINK);
});
endSpan(CONST.TELEMETRY.SPAN_BOOTSPLASH.DEEP_LINK);
})
.catch(() => {
if (cancelled) {
return;
}

initialUrlProcessed.current = true;
onInitialUrl(null);
Report.doneCheckingPublicRoom();
endSpan(CONST.TELEMETRY.SPAN_BOOTSPLASH.DEEP_LINK);
});

// Open chat report from a deep link (only mobile native)
linkingChangeListener.current = Linking.addEventListener('url', (state) => {
Expand All @@ -71,11 +106,26 @@ function DeepLinkHandler({onInitialUrl}: DeepLinkHandlerProps) {
});

return () => {
cancelled = true;
clearTimeout(timeoutId);
linkingChangeListener.current?.remove();
};
// eslint-disable-next-line react-hooks/exhaustive-deps -- intentionally excluding allReports, isAuthenticated, and onInitialUrl to avoid re-triggering deep link handling on every report update
}, [sessionMetadata?.status, conciergeReportID, introSelected, isSelfTourViewedMetadata, betas]);

// Safety net: if getInitialURL() resolves before the session loads, hasAuthToken() may return false
// for an authenticated user, causing openReportFromDeepLink to take the wrong path. Once isAuthenticated
// settles to true, unblock the UI. The initialUrlProcessed guard ensures this doesn't fire before URL
// resolution. In the common case (isAuthenticated settles first), this is a no-op because
// openReportFromDeepLink's own doneCheckingPublicRoom() call handles it.
useEffect(() => {
if (!isAuthenticated || !initialUrlProcessed.current) {
return;
}

Report.doneCheckingPublicRoom();
}, [isAuthenticated]);

return null;
}

Expand Down
11 changes: 7 additions & 4 deletions src/Expensify.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ function Expensify() {
const [hasAttemptedToOpenPublicRoom, setAttemptedToOpenPublicRoom] = useState(false);
const {preferredLocale} = useLocalize();
const [lastRoute] = useOnyx(ONYXKEYS.LAST_ROUTE);
const [isCheckingPublicRoom = true] = useOnyx(ONYXKEYS.IS_CHECKING_PUBLIC_ROOM, {initWithStoredValues: false});
const [isCheckingPublicRoom = true] = useOnyx(ONYXKEYS.RAM_ONLY_IS_CHECKING_PUBLIC_ROOM);
const [updateRequired] = useOnyx(ONYXKEYS.RAM_ONLY_UPDATE_REQUIRED);
const [lastVisitedPath] = useOnyx(ONYXKEYS.LAST_VISITED_PATH);

Expand All @@ -72,7 +72,7 @@ function Expensify() {

const bootsplashSpan = useRef<Sentry.Span>(null);

const [initialUrl, setInitialUrl] = useState<Route | null>(null);
const [initialUrl, setInitialUrl] = useState<Route | null | undefined>(undefined);
const {setIsAuthenticatedAtStartup} = useInitialURLActions();

useEffect(() => {
Expand Down Expand Up @@ -278,12 +278,15 @@ function Expensify() {
<FullstoryInitHandler />
<DeepLinkHandler onInitialUrl={setInitialUrl} />
<AppleAuthWrapper />
{hasAttemptedToOpenPublicRoom && (
{/* Wait for the initial URL to resolve before mounting NavigationRoot, because its initialState
is computed once on mount. In HybridApp, getInitialURL() may never resolve (OldDot native
bridge), so we skip this guard to avoid blocking the app. */}
{hasAttemptedToOpenPublicRoom && (CONFIG.IS_HYBRID_APP || initialUrl !== undefined) && (
<NavigationRoot
onReady={setNavigationReady}
authenticated={isAuthenticated}
lastVisitedPath={lastVisitedPath as Route}
initialUrl={initialUrl}
initialUrl={initialUrl ?? null}
/>
)}
{(isSplashVisible || isSplashReadyToBeHidden) && (
Expand Down
12 changes: 6 additions & 6 deletions src/ONYXKEYS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ const ONYXKEYS = {
IS_PLAID_DISABLED: 'isPlaidDisabled',

/** Token needed to initialize Plaid link */
PLAID_LINK_TOKEN: 'plaidLinkToken',
RAM_ONLY_PLAID_LINK_TOKEN: 'plaidLinkToken',

/** Capture Plaid event */
PLAID_CURRENT_EVENT: 'plaidCurrentEvent',
Expand Down Expand Up @@ -424,7 +424,7 @@ const ONYXKEYS = {
IS_BETA: 'isBeta',

/** Whether we're checking if the room is public or not */
IS_CHECKING_PUBLIC_ROOM: 'isCheckingPublicRoom',
RAM_ONLY_IS_CHECKING_PUBLIC_ROOM: 'isCheckingPublicRoom',

/** A map of the user's security group IDs they belong to in specific domains */
MY_DOMAIN_SECURITY_GROUPS: 'myDomainSecurityGroups',
Expand Down Expand Up @@ -808,7 +808,7 @@ const ONYXKEYS = {
NVP_EXPENSIFY_REPORT_PDF_FILENAME: 'nvp_expensify_report_PDFFilename_',

/** Stores the information about the state of issuing a new card */
ISSUE_NEW_EXPENSIFY_CARD: 'issueNewExpensifyCard_',
RAM_ONLY_ISSUE_NEW_EXPENSIFY_CARD: 'issueNewExpensifyCard_',

/** Stored the user information with whom bank account is being shared */
BANK_ACCOUNT_SHARE_DETAILS: 'expensify_bankAccountShare_',
Expand Down Expand Up @@ -1294,7 +1294,7 @@ type OnyxCollectionValuesMapping = {
[ONYXKEYS.COLLECTION.LAST_SELECTED_FEED]: OnyxTypes.CompanyCardFeedWithDomainID;
[ONYXKEYS.COLLECTION.LAST_SELECTED_EXPENSIFY_CARD_FEED]: OnyxTypes.FundID;
[ONYXKEYS.COLLECTION.NVP_EXPENSIFY_ON_CARD_WAITLIST]: OnyxTypes.CardOnWaitlist;
[ONYXKEYS.COLLECTION.ISSUE_NEW_EXPENSIFY_CARD]: OnyxTypes.IssueNewCard;
[ONYXKEYS.COLLECTION.RAM_ONLY_ISSUE_NEW_EXPENSIFY_CARD]: OnyxTypes.IssueNewCard;
[ONYXKEYS.COLLECTION.SAML_METADATA]: OnyxTypes.SamlMetadata;
[ONYXKEYS.COLLECTION.DOMAIN_PENDING_ACTIONS]: OnyxTypes.DomainPendingActions;
[ONYXKEYS.COLLECTION.DOMAIN_ERRORS]: OnyxTypes.DomainErrors;
Expand Down Expand Up @@ -1380,7 +1380,7 @@ type OnyxValuesMapping = {
[ONYXKEYS.NVP_SEEN_NEW_USER_MODAL]: boolean;
[ONYXKEYS.PLAID_DATA]: OnyxTypes.PlaidData;
[ONYXKEYS.IS_PLAID_DISABLED]: boolean;
[ONYXKEYS.PLAID_LINK_TOKEN]: string;
[ONYXKEYS.RAM_ONLY_PLAID_LINK_TOKEN]: string;
[ONYXKEYS.ONFIDO_TOKEN]: string;
[ONYXKEYS.ONFIDO_APPLICANT_ID]: string;
[ONYXKEYS.NVP_PREFERRED_LOCALE]: OnyxTypes.Locale;
Expand Down Expand Up @@ -1430,7 +1430,7 @@ type OnyxValuesMapping = {
[ONYXKEYS.LAST_ACCESSED_WORKSPACE_POLICY_ID]: string;
[ONYXKEYS.SHOULD_SHOW_COMPOSE_INPUT]: boolean;
[ONYXKEYS.IS_BETA]: boolean;
[ONYXKEYS.IS_CHECKING_PUBLIC_ROOM]: boolean;
[ONYXKEYS.RAM_ONLY_IS_CHECKING_PUBLIC_ROOM]: boolean;
[ONYXKEYS.MY_DOMAIN_SECURITY_GROUPS]: Record<string, string>;
[ONYXKEYS.DOMAIN_MEMBERS_SELECTED_FOR_MOVE]: string[];
[ONYXKEYS.VERIFY_3DS_SUBSCRIPTION]: string;
Expand Down
2 changes: 1 addition & 1 deletion src/components/AddPlaidBankAccount.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ function AddPlaidBankAccount({
const subscribedKeyboardShortcuts = useRef<Array<() => void>>([]);
const previousNetworkState = useRef<boolean | undefined>(undefined);
const [selectedPlaidAccountMask, setSelectedPlaidAccountMask] = useState(defaultSelectedPlaidAccountMask);
const [plaidLinkToken] = useOnyx(ONYXKEYS.PLAID_LINK_TOKEN, {initWithStoredValues: false});
const [plaidLinkToken] = useOnyx(ONYXKEYS.RAM_ONLY_PLAID_LINK_TOKEN);
const [isPlaidDisabled] = useOnyx(ONYXKEYS.IS_PLAID_DISABLED);
const {translate} = useLocalize();
const {isOffline} = useNetwork();
Expand Down
2 changes: 1 addition & 1 deletion src/libs/ExportOnyxState/common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ const onyxKeysToRemove = new Set<ValueOf<typeof ONYXKEYS> | ValueOf<typeof ONYXK
ONYXKEYS.NVP_PRIVATE_STRIPE_CUSTOMER_ID,
ONYXKEYS.NVP_PRIVATE_BILLING_DISPUTE_PENDING,
ONYXKEYS.NVP_PRIVATE_BILLING_STATUS,
ONYXKEYS.PLAID_LINK_TOKEN,
ONYXKEYS.RAM_ONLY_PLAID_LINK_TOKEN,
ONYXKEYS.ONFIDO_TOKEN,
ONYXKEYS.ONFIDO_APPLICANT_ID,
...Object.values(ONYXKEYS.DERIVED),
Expand Down
2 changes: 1 addition & 1 deletion src/libs/actions/App.ts
Original file line number Diff line number Diff line change
Expand Up @@ -121,9 +121,9 @@ Onyx.connectWithoutView({

const KEYS_TO_PRESERVE: OnyxKey[] = [
ONYXKEYS.ACCOUNT,
ONYXKEYS.RAM_ONLY_IS_CHECKING_PUBLIC_ROOM,
ONYXKEYS.IS_LOADING_APP,
ONYXKEYS.RAM_ONLY_IS_SIDEBAR_LOADED,
ONYXKEYS.IS_CHECKING_PUBLIC_ROOM,
ONYXKEYS.MODAL,
ONYXKEYS.NETWORK,
ONYXKEYS.SESSION,
Expand Down
2 changes: 1 addition & 1 deletion src/libs/actions/BankAccounts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ type OpenPersonalBankAccountSetupViewProps = {
};

function clearPlaid(): Promise<void | void[]> {
Onyx.set(ONYXKEYS.PLAID_LINK_TOKEN, '');
Onyx.set(ONYXKEYS.RAM_ONLY_PLAID_LINK_TOKEN, '');
Onyx.set(ONYXKEYS.PLAID_CURRENT_EVENT, null);
return Onyx.set(ONYXKEYS.PLAID_DATA, CONST.PLAID.DEFAULT_DATA);
}
Expand Down
18 changes: 9 additions & 9 deletions src/libs/actions/Card.ts
Original file line number Diff line number Diff line change
Expand Up @@ -748,7 +748,7 @@ function getCardDefaultName(userName?: string) {
}

function setIssueNewCardStepAndData({data, isEditing, step, policyID, isChangeAssigneeDisabled}: IssueNewCardFlowData) {
Onyx.merge(`${ONYXKEYS.COLLECTION.ISSUE_NEW_EXPENSIFY_CARD}${policyID}`, {
Onyx.merge(`${ONYXKEYS.COLLECTION.RAM_ONLY_ISSUE_NEW_EXPENSIFY_CARD}${policyID}`, {
data,
isEditing,
currentStep: step,
Expand All @@ -764,7 +764,7 @@ function setDraftInviteAccountID(assigneeEmail: string | undefined, assigneeAcco
}

function clearIssueNewCardFlow(policyID: string | undefined) {
Onyx.set(`${ONYXKEYS.COLLECTION.ISSUE_NEW_EXPENSIFY_CARD}${policyID}`, {
Onyx.set(`${ONYXKEYS.COLLECTION.RAM_ONLY_ISSUE_NEW_EXPENSIFY_CARD}${policyID}`, {
currentStep: null,
data: {},
isSuccessful: false,
Expand All @@ -777,7 +777,7 @@ function clearIssueNewCardFormData() {
}

function clearIssueNewCardError(policyID: string | undefined) {
Onyx.merge(`${ONYXKEYS.COLLECTION.ISSUE_NEW_EXPENSIFY_CARD}${policyID}`, {errors: null});
Onyx.merge(`${ONYXKEYS.COLLECTION.RAM_ONLY_ISSUE_NEW_EXPENSIFY_CARD}${policyID}`, {errors: null});
}

function buildCardListUpdates(workspaceAccountID: number, cardID: number, cardUpdateData: CardListUpdateData, shouldUpdateCardList: boolean): CardOnyxUpdate[] {
Expand Down Expand Up @@ -1367,10 +1367,10 @@ function issueExpensifyCard(

const {assigneeEmail, limit, limitType, cardTitle, cardType, validFrom, validThru} = data;

const optimisticData: Array<OnyxUpdate<typeof ONYXKEYS.COLLECTION.ISSUE_NEW_EXPENSIFY_CARD>> = [
const optimisticData: Array<OnyxUpdate<typeof ONYXKEYS.COLLECTION.RAM_ONLY_ISSUE_NEW_EXPENSIFY_CARD>> = [
{
onyxMethod: Onyx.METHOD.MERGE,
key: `${ONYXKEYS.COLLECTION.ISSUE_NEW_EXPENSIFY_CARD}${policyID}`,
key: `${ONYXKEYS.COLLECTION.RAM_ONLY_ISSUE_NEW_EXPENSIFY_CARD}${policyID}`,
value: {
isLoading: true,
errors: null,
Expand All @@ -1379,21 +1379,21 @@ function issueExpensifyCard(
},
];

const successData: Array<OnyxUpdate<typeof ONYXKEYS.COLLECTION.ISSUE_NEW_EXPENSIFY_CARD>> = [
const successData: Array<OnyxUpdate<typeof ONYXKEYS.COLLECTION.RAM_ONLY_ISSUE_NEW_EXPENSIFY_CARD>> = [
{
onyxMethod: Onyx.METHOD.MERGE,
key: `${ONYXKEYS.COLLECTION.ISSUE_NEW_EXPENSIFY_CARD}${policyID}`,
key: `${ONYXKEYS.COLLECTION.RAM_ONLY_ISSUE_NEW_EXPENSIFY_CARD}${policyID}`,
value: {
isLoading: false,
isSuccessful: true,
},
},
];

const failureData: Array<OnyxUpdate<typeof ONYXKEYS.COLLECTION.ISSUE_NEW_EXPENSIFY_CARD>> = [
const failureData: Array<OnyxUpdate<typeof ONYXKEYS.COLLECTION.RAM_ONLY_ISSUE_NEW_EXPENSIFY_CARD>> = [
{
onyxMethod: Onyx.METHOD.MERGE,
key: `${ONYXKEYS.COLLECTION.ISSUE_NEW_EXPENSIFY_CARD}${policyID}`,
key: `${ONYXKEYS.COLLECTION.RAM_ONLY_ISSUE_NEW_EXPENSIFY_CARD}${policyID}`,
value: {
isLoading: false,
errors: ErrorUtils.getMicroSecondOnyxErrorWithTranslationKey('common.genericErrorMessage'),
Expand Down
28 changes: 24 additions & 4 deletions src/libs/actions/Plaid.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ function openPlaidBankLogin(allowDebit: boolean, bankAccountID: number) {
},
{
onyxMethod: Onyx.METHOD.SET,
key: ONYXKEYS.PLAID_LINK_TOKEN,
key: ONYXKEYS.RAM_ONLY_PLAID_LINK_TOKEN,
value: '',
},
{
Expand All @@ -43,7 +43,17 @@ function openPlaidBankLogin(allowDebit: boolean, bankAccountID: number) {
},
];

API.read(READ_COMMANDS.OPEN_PLAID_BANK_LOGIN, params, {optimisticData});
const failureData = [
{
onyxMethod: Onyx.METHOD.MERGE,
key: ONYXKEYS.PLAID_DATA,
value: {
isLoading: false,
},
},
];

API.read(READ_COMMANDS.OPEN_PLAID_BANK_LOGIN, params, {optimisticData, failureData});
}

/**
Expand All @@ -69,12 +79,22 @@ function openPlaidCompanyCardLogin(country: string, domain?: string, feed?: Card
},
{
onyxMethod: Onyx.METHOD.SET,
key: ONYXKEYS.PLAID_LINK_TOKEN,
key: ONYXKEYS.RAM_ONLY_PLAID_LINK_TOKEN,
value: '',
},
];

API.read(READ_COMMANDS.OPEN_PLAID_CARDS_BANK_LOGIN, params, {optimisticData});
const failureData = [
{
onyxMethod: Onyx.METHOD.MERGE,
key: ONYXKEYS.PLAID_DATA,
value: {
isLoading: false,
},
},
];

API.read(READ_COMMANDS.OPEN_PLAID_CARDS_BANK_LOGIN, params, {optimisticData, failureData});
}

function openPlaidBankAccountSelector(publicToken: string, bankName: string, allowDebit: boolean, bankAccountID: number) {
Expand Down
2 changes: 1 addition & 1 deletion src/libs/actions/QueuedOnyxUpdates.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ function flushQueue(): Promise<void> {
ONYXKEYS.CREDENTIALS,
ONYXKEYS.RAM_ONLY_IS_SIDEBAR_LOADED,
ONYXKEYS.ACCOUNT,
ONYXKEYS.IS_CHECKING_PUBLIC_ROOM,
ONYXKEYS.RAM_ONLY_IS_CHECKING_PUBLIC_ROOM,
ONYXKEYS.MODAL,
ONYXKEYS.NETWORK,
ONYXKEYS.SHOULD_SHOW_COMPOSE_INPUT,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ function resetUSDBankAccount(
| typeof ONYXKEYS.ONFIDO_TOKEN
| typeof ONYXKEYS.ONFIDO_APPLICANT_ID
| typeof ONYXKEYS.PLAID_DATA
| typeof ONYXKEYS.PLAID_LINK_TOKEN
| typeof ONYXKEYS.RAM_ONLY_PLAID_LINK_TOKEN
| typeof ONYXKEYS.FORMS.REIMBURSEMENT_ACCOUNT_FORM_DRAFT
| typeof ONYXKEYS.NVP_LAST_PAYMENT_METHOD
> = {
Expand Down Expand Up @@ -76,7 +76,7 @@ function resetUSDBankAccount(
},
{
onyxMethod: Onyx.METHOD.SET,
key: ONYXKEYS.PLAID_LINK_TOKEN,
key: ONYXKEYS.RAM_ONLY_PLAID_LINK_TOKEN,
value: '',
},
{
Expand Down
Loading
Loading