From a0ee93ff4d7d4a446db406a43c83a5933d92b30b Mon Sep 17 00:00:00 2001 From: tienifr Date: Fri, 14 Apr 2023 13:15:30 +0700 Subject: [PATCH 01/16] fix: redundant url param on log out --- src/libs/Navigation/AppNavigator/AuthScreens.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/libs/Navigation/AppNavigator/AuthScreens.js b/src/libs/Navigation/AppNavigator/AuthScreens.js index 776508f27864..900dc25125d6 100644 --- a/src/libs/Navigation/AppNavigator/AuthScreens.js +++ b/src/libs/Navigation/AppNavigator/AuthScreens.js @@ -95,6 +95,17 @@ const defaultProps = { }, }; +const stringToBool = (str) => { + switch (str.toLowerCase()) { + case 'true': + return true; + case 'false': + return false; + default: + return undefined; + } +}; + class AuthScreens extends React.Component { constructor(props) { super(props); @@ -199,7 +210,7 @@ class AuthScreens extends React.Component { const MainDrawerNavigator = require('./MainDrawerNavigator').default; return MainDrawerNavigator; }} - initialParams={{openOnAdminRoom: openOnAdminRoom === 'true'}} + initialParams={{openOnAdminRoom: stringToBool(openOnAdminRoom)}} /> Date: Fri, 14 Apr 2023 13:21:36 +0700 Subject: [PATCH 02/16] fix NA value --- .../Navigation/AppNavigator/AuthScreens.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/AuthScreens.js b/src/libs/Navigation/AppNavigator/AuthScreens.js index 900dc25125d6..e87f647730a9 100644 --- a/src/libs/Navigation/AppNavigator/AuthScreens.js +++ b/src/libs/Navigation/AppNavigator/AuthScreens.js @@ -4,6 +4,7 @@ import PropTypes from 'prop-types'; import moment from 'moment'; import _ from 'underscore'; import lodashGet from 'lodash/get'; +import Str from 'expensify-common/lib/str'; import getNavigationModalCardStyle from '../../../styles/getNavigationModalCardStyles'; import withWindowDimensions, {windowDimensionsPropTypes} from '../../../components/withWindowDimensions'; import CONST from '../../../CONST'; @@ -96,14 +97,18 @@ const defaultProps = { }; const stringToBool = (str) => { - switch (str.toLowerCase()) { - case 'true': - return true; - case 'false': - return false; - default: - return undefined; + if (Str.isString(str)) { + switch (str.toLowerCase()) { + case 'true': + return true; + case 'false': + return false; + default: + return undefined; + } } + + return undefined; }; class AuthScreens extends React.Component { From 7abb4fdb6643acc99bff62a34279022c7bad16d8 Mon Sep 17 00:00:00 2001 From: tienifr Date: Fri, 14 Apr 2023 17:44:37 +0700 Subject: [PATCH 03/16] refactor stringToBool function --- .../Navigation/AppNavigator/AuthScreens.js | 19 ++------------- src/libs/ValidationUtils.js | 23 +++++++++++++++++++ 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/AuthScreens.js b/src/libs/Navigation/AppNavigator/AuthScreens.js index e87f647730a9..a67e0c05b2a4 100644 --- a/src/libs/Navigation/AppNavigator/AuthScreens.js +++ b/src/libs/Navigation/AppNavigator/AuthScreens.js @@ -4,13 +4,13 @@ import PropTypes from 'prop-types'; import moment from 'moment'; import _ from 'underscore'; import lodashGet from 'lodash/get'; -import Str from 'expensify-common/lib/str'; import getNavigationModalCardStyle from '../../../styles/getNavigationModalCardStyles'; import withWindowDimensions, {windowDimensionsPropTypes} from '../../../components/withWindowDimensions'; import CONST from '../../../CONST'; import compose from '../../compose'; import * as PersonalDetails from '../../actions/PersonalDetails'; import * as Pusher from '../../Pusher/pusher'; +import * as ValidationUtils from '../../ValidationUtils'; import PusherConnectionManager from '../../PusherConnectionManager'; import ROUTES from '../../../ROUTES'; import ONYXKEYS from '../../../ONYXKEYS'; @@ -96,21 +96,6 @@ const defaultProps = { }, }; -const stringToBool = (str) => { - if (Str.isString(str)) { - switch (str.toLowerCase()) { - case 'true': - return true; - case 'false': - return false; - default: - return undefined; - } - } - - return undefined; -}; - class AuthScreens extends React.Component { constructor(props) { super(props); @@ -215,7 +200,7 @@ class AuthScreens extends React.Component { const MainDrawerNavigator = require('./MainDrawerNavigator').default; return MainDrawerNavigator; }} - initialParams={{openOnAdminRoom: stringToBool(openOnAdminRoom)}} + initialParams={{openOnAdminRoom: ValidationUtils.stringToBool(openOnAdminRoom)}} /> Date: Fri, 14 Apr 2023 17:44:56 +0700 Subject: [PATCH 04/16] add unit test for stringToBool --- tests/unit/ValidationUtilsTest.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/unit/ValidationUtilsTest.js b/tests/unit/ValidationUtilsTest.js index d44e7c958046..b651de215851 100644 --- a/tests/unit/ValidationUtilsTest.js +++ b/tests/unit/ValidationUtilsTest.js @@ -82,4 +82,17 @@ describe('ValidationUtils', () => { expect(ValidationUtils.isValidWebsite('www.expensify😄.com')).toBe(false); }); }); + + describe('stringToBool', () => { + test('Normal literals', () => { + expect(ValidationUtils.stringToBool('true')).toBe(true); + expect(ValidationUtils.stringToBool('false')).toBe(false); + expect(ValidationUtils.stringToBool('')).toBe(undefined); + expect(ValidationUtils.stringToBool('foo')).toBe(undefined); + }); + + test('Case insensitive', () => { + expect(ValidationUtils.stringToBool('True')).toBe(true); + }); + }); }); From 574372a36e12ea8b1ae8747afaf21c11af1362ab Mon Sep 17 00:00:00 2001 From: tienifr Date: Tue, 18 Apr 2023 12:06:54 +0700 Subject: [PATCH 05/16] replace ValidationUtils with expensify-common Str.toBool --- src/libs/Navigation/AppNavigator/AuthScreens.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/AuthScreens.js b/src/libs/Navigation/AppNavigator/AuthScreens.js index a67e0c05b2a4..c7bc3465c81f 100644 --- a/src/libs/Navigation/AppNavigator/AuthScreens.js +++ b/src/libs/Navigation/AppNavigator/AuthScreens.js @@ -4,13 +4,13 @@ import PropTypes from 'prop-types'; import moment from 'moment'; import _ from 'underscore'; import lodashGet from 'lodash/get'; +import Str from 'expensify-common/lib/str'; import getNavigationModalCardStyle from '../../../styles/getNavigationModalCardStyles'; import withWindowDimensions, {windowDimensionsPropTypes} from '../../../components/withWindowDimensions'; import CONST from '../../../CONST'; import compose from '../../compose'; import * as PersonalDetails from '../../actions/PersonalDetails'; import * as Pusher from '../../Pusher/pusher'; -import * as ValidationUtils from '../../ValidationUtils'; import PusherConnectionManager from '../../PusherConnectionManager'; import ROUTES from '../../../ROUTES'; import ONYXKEYS from '../../../ONYXKEYS'; @@ -200,7 +200,7 @@ class AuthScreens extends React.Component { const MainDrawerNavigator = require('./MainDrawerNavigator').default; return MainDrawerNavigator; }} - initialParams={{openOnAdminRoom: ValidationUtils.stringToBool(openOnAdminRoom)}} + initialParams={{openOnAdminRoom: Str.toBool(openOnAdminRoom) || undefined}} /> Date: Tue, 18 Apr 2023 12:07:37 +0700 Subject: [PATCH 06/16] remove ValidationUtils.stringToBool --- src/libs/ValidationUtils.js | 22 ---------------------- tests/unit/ValidationUtilsTest.js | 13 ------------- 2 files changed, 35 deletions(-) diff --git a/src/libs/ValidationUtils.js b/src/libs/ValidationUtils.js index 14797752b950..9710d007cc67 100644 --- a/src/libs/ValidationUtils.js +++ b/src/libs/ValidationUtils.js @@ -431,27 +431,6 @@ function isValidTaxID(taxID) { return taxID && CONST.REGEX.TAX_ID.test(taxID.replace(CONST.REGEX.NON_NUMERIC, '')); } -/** - * Converts string to boolean. - * - * @param {String} value - * @returns {Boolean|undefined} - */ -function stringToBool(value) { - if (Str.isString(value)) { - switch (value.toLowerCase()) { - case 'true': - return true; - case 'false': - return false; - default: - return undefined; - } - } - - return undefined; -} - export { meetsAgeRequirements, getAgeRequirementError, @@ -483,5 +462,4 @@ export { isValidDisplayName, isValidLegalName, doesContainReservedWord, - stringToBool, }; diff --git a/tests/unit/ValidationUtilsTest.js b/tests/unit/ValidationUtilsTest.js index b651de215851..d44e7c958046 100644 --- a/tests/unit/ValidationUtilsTest.js +++ b/tests/unit/ValidationUtilsTest.js @@ -82,17 +82,4 @@ describe('ValidationUtils', () => { expect(ValidationUtils.isValidWebsite('www.expensify😄.com')).toBe(false); }); }); - - describe('stringToBool', () => { - test('Normal literals', () => { - expect(ValidationUtils.stringToBool('true')).toBe(true); - expect(ValidationUtils.stringToBool('false')).toBe(false); - expect(ValidationUtils.stringToBool('')).toBe(undefined); - expect(ValidationUtils.stringToBool('foo')).toBe(undefined); - }); - - test('Case insensitive', () => { - expect(ValidationUtils.stringToBool('True')).toBe(true); - }); - }); }); From 498c79707e9c3d29f062270adfeaf9979785308c Mon Sep 17 00:00:00 2001 From: tienifr Date: Tue, 18 Apr 2023 16:46:06 +0700 Subject: [PATCH 07/16] fix lint error --- src/libs/ValidationUtils.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libs/ValidationUtils.js b/src/libs/ValidationUtils.js index 9710d007cc67..a6bfa519c911 100644 --- a/src/libs/ValidationUtils.js +++ b/src/libs/ValidationUtils.js @@ -1,6 +1,5 @@ import moment from 'moment'; import _ from 'underscore'; -import Str from 'expensify-common/lib/str'; import CONST from '../CONST'; import * as CardUtils from './CardUtils'; import * as LoginUtils from './LoginUtils'; From 89c63031704f3dbeadbda6a8129d9ea05c79adf7 Mon Sep 17 00:00:00 2001 From: tienifr Date: Wed, 19 Apr 2023 00:13:04 +0700 Subject: [PATCH 08/16] update expensify-common version --- package-lock.json | 12 ++++++------ package.json | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1bd773abf334..77efaf4d3636 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,7 +38,7 @@ "babel-polyfill": "^6.26.0", "dom-serializer": "^0.2.2", "domhandler": "^4.3.0", - "expensify-common": "git+ssh://git@github.com/Expensify/expensify-common.git#be625f55058111793bbcfe3f64788ea0a8f9d705", + "expensify-common": "git+ssh://git@github.com/Expensify/expensify-common.git#777177937a77a0edfea5bdba2252eff35da9f9db", "fbjs": "^3.0.2", "html-entities": "^1.3.1", "htmlparser2": "^7.2.0", @@ -23423,8 +23423,8 @@ }, "node_modules/expensify-common": { "version": "1.0.0", - "resolved": "git+ssh://git@github.com/Expensify/expensify-common.git#be625f55058111793bbcfe3f64788ea0a8f9d705", - "integrity": "sha512-o6sNPp81pmApczo6b+nEawoJrhLt+TM0goCgMWqyLfCBOnBTDpSjYM+MP7oFh5qndDZHxPi1MEzyVL8EVKeovQ==", + "resolved": "git+ssh://git@github.com/Expensify/expensify-common.git#777177937a77a0edfea5bdba2252eff35da9f9db", + "integrity": "sha512-r2GISzcFNejxMPcYNQaioX/+Qz+tthZif0ZBwe6fA6hJ0Qc/lj1uq47Z9Lkkg8yB0ZWjRiAfiyns+GpnqpR15Q==", "license": "MIT", "dependencies": { "classnames": "2.3.1", @@ -56881,9 +56881,9 @@ } }, "expensify-common": { - "version": "git+ssh://git@github.com/Expensify/expensify-common.git#be625f55058111793bbcfe3f64788ea0a8f9d705", - "integrity": "sha512-o6sNPp81pmApczo6b+nEawoJrhLt+TM0goCgMWqyLfCBOnBTDpSjYM+MP7oFh5qndDZHxPi1MEzyVL8EVKeovQ==", - "from": "expensify-common@git+ssh://git@github.com/Expensify/expensify-common.git#be625f55058111793bbcfe3f64788ea0a8f9d705", + "version": "git+ssh://git@github.com/Expensify/expensify-common.git#777177937a77a0edfea5bdba2252eff35da9f9db", + "integrity": "sha512-r2GISzcFNejxMPcYNQaioX/+Qz+tthZif0ZBwe6fA6hJ0Qc/lj1uq47Z9Lkkg8yB0ZWjRiAfiyns+GpnqpR15Q==", + "from": "expensify-common@git+ssh://git@github.com/Expensify/expensify-common.git#777177937a77a0edfea5bdba2252eff35da9f9db", "requires": { "classnames": "2.3.1", "clipboard": "2.0.4", diff --git a/package.json b/package.json index 435e5e657206..d2d2ecb9294b 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "babel-polyfill": "^6.26.0", "dom-serializer": "^0.2.2", "domhandler": "^4.3.0", - "expensify-common": "git+ssh://git@github.com/Expensify/expensify-common.git#be625f55058111793bbcfe3f64788ea0a8f9d705", + "expensify-common": "git+ssh://git@github.com/Expensify/expensify-common.git#777177937a77a0edfea5bdba2252eff35da9f9db", "fbjs": "^3.0.2", "html-entities": "^1.3.1", "htmlparser2": "^7.2.0", From 7339b95256ef623e97195e1f095913587d8d142d Mon Sep 17 00:00:00 2001 From: tienifr Date: Mon, 24 Apr 2023 23:38:22 +0700 Subject: [PATCH 09/16] reset all params of Home route --- src/libs/actions/SignInRedirect.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/libs/actions/SignInRedirect.js b/src/libs/actions/SignInRedirect.js index f5cc1a54b8d3..24c7269d0629 100644 --- a/src/libs/actions/SignInRedirect.js +++ b/src/libs/actions/SignInRedirect.js @@ -1,4 +1,7 @@ import Onyx from 'react-native-onyx'; +import lodashFind from 'lodash/find'; +import lodashGet from 'lodash/get'; +import _ from 'underscore'; import ONYXKEYS from '../../ONYXKEYS'; import * as MainQueue from '../Network/MainQueue'; import DateUtils from '../DateUtils'; @@ -6,6 +9,9 @@ import * as Localize from '../Localize'; import * as PersistedRequests from './PersistedRequests'; import NetworkConnection from '../NetworkConnection'; import HttpUtils from '../HttpUtils'; +import navigationRef from '../Navigation/navigationRef'; +import SCREENS from '../../SCREENS'; +import Navigation from '../Navigation/Navigation'; let currentIsOffline; let currentShouldForceOffline; @@ -49,10 +55,25 @@ function clearStorageAndRedirect(errorMessage) { }); } +/** + * Reset all current params of the Home route + */ +function resetHomeRouteParams() { + const routes = lodashGet(navigationRef.current.getState(), 'routes'); + const homeRoute = lodashFind(routes, route => route.name === SCREENS.HOME); + + const emptyParams = {}; + _.keys(lodashGet(homeRoute, 'params')).forEach((paramKey) => { + emptyParams[paramKey] = null; + }); + Navigation.setParams(emptyParams, homeRoute.key); +} + /** * Cleanup actions resulting in the user being redirected to the Sign-in page * - Clears the Onyx store - removing the authToken redirects the user to the Sign-in page * - Cancels pending network calls - any lingering requests are discarded to prevent unwanted storage writes + * - Clears all current params of the Home route - the login page URL should not contain any parameter * * Normally this method would live in Session.js, but that would cause a circular dependency with Network.js. * @@ -64,6 +85,7 @@ function redirectToSignIn(errorMessage) { PersistedRequests.clear(); NetworkConnection.clearReconnectionCallbacks(); clearStorageAndRedirect(errorMessage); + resetHomeRouteParams(); } export default redirectToSignIn; From 4e605c0b00abeb6c91f79ab0a27100fd86d36687 Mon Sep 17 00:00:00 2001 From: tienifr Date: Mon, 24 Apr 2023 23:43:44 +0700 Subject: [PATCH 10/16] reset params by undefined value --- src/libs/actions/SignInRedirect.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libs/actions/SignInRedirect.js b/src/libs/actions/SignInRedirect.js index 24c7269d0629..ffeabeda0138 100644 --- a/src/libs/actions/SignInRedirect.js +++ b/src/libs/actions/SignInRedirect.js @@ -59,12 +59,12 @@ function clearStorageAndRedirect(errorMessage) { * Reset all current params of the Home route */ function resetHomeRouteParams() { - const routes = lodashGet(navigationRef.current.getState(), 'routes'); + const routes = lodashGet(navigationRef.current.getState(), ['routes']); const homeRoute = lodashFind(routes, route => route.name === SCREENS.HOME); const emptyParams = {}; - _.keys(lodashGet(homeRoute, 'params')).forEach((paramKey) => { - emptyParams[paramKey] = null; + _.keys(lodashGet(homeRoute, ['params'])).forEach((paramKey) => { + emptyParams[paramKey] = undefined; }); Navigation.setParams(emptyParams, homeRoute.key); } From 857b787f0a7868771e0143e8a535de945bf810c2 Mon Sep 17 00:00:00 2001 From: tienifr Date: Mon, 24 Apr 2023 23:56:26 +0700 Subject: [PATCH 11/16] fix navigationRef null error --- src/libs/actions/SignInRedirect.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/actions/SignInRedirect.js b/src/libs/actions/SignInRedirect.js index ffeabeda0138..09dfa4803afb 100644 --- a/src/libs/actions/SignInRedirect.js +++ b/src/libs/actions/SignInRedirect.js @@ -59,7 +59,7 @@ function clearStorageAndRedirect(errorMessage) { * Reset all current params of the Home route */ function resetHomeRouteParams() { - const routes = lodashGet(navigationRef.current.getState(), ['routes']); + const routes = navigationRef.current && lodashGet(navigationRef.current.getState(), ['routes']); const homeRoute = lodashFind(routes, route => route.name === SCREENS.HOME); const emptyParams = {}; From e9076e0cbe3e16c493d31018147bcbc6c3c5ccc7 Mon Sep 17 00:00:00 2001 From: tienifr Date: Tue, 25 Apr 2023 11:43:41 +0700 Subject: [PATCH 12/16] fix undefined key homeRoute --- src/libs/actions/SignInRedirect.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libs/actions/SignInRedirect.js b/src/libs/actions/SignInRedirect.js index 09dfa4803afb..f7be85311fbd 100644 --- a/src/libs/actions/SignInRedirect.js +++ b/src/libs/actions/SignInRedirect.js @@ -59,14 +59,14 @@ function clearStorageAndRedirect(errorMessage) { * Reset all current params of the Home route */ function resetHomeRouteParams() { - const routes = navigationRef.current && lodashGet(navigationRef.current.getState(), ['routes']); + const routes = navigationRef.current && lodashGet(navigationRef.current.getState(), 'routes'); const homeRoute = lodashFind(routes, route => route.name === SCREENS.HOME); const emptyParams = {}; - _.keys(lodashGet(homeRoute, ['params'])).forEach((paramKey) => { + _.keys(lodashGet(homeRoute, 'params')).forEach((paramKey) => { emptyParams[paramKey] = undefined; }); - Navigation.setParams(emptyParams, homeRoute.key); + Navigation.setParams(emptyParams, lodashGet(homeRoute, 'key')); } /** From 1a11eee1b0f7e784ebb2252decee091b86915824 Mon Sep 17 00:00:00 2001 From: tienifr Date: Tue, 25 Apr 2023 11:45:07 +0700 Subject: [PATCH 13/16] default key homeRoute --- src/libs/actions/SignInRedirect.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/actions/SignInRedirect.js b/src/libs/actions/SignInRedirect.js index f7be85311fbd..c477139866e0 100644 --- a/src/libs/actions/SignInRedirect.js +++ b/src/libs/actions/SignInRedirect.js @@ -66,7 +66,7 @@ function resetHomeRouteParams() { _.keys(lodashGet(homeRoute, 'params')).forEach((paramKey) => { emptyParams[paramKey] = undefined; }); - Navigation.setParams(emptyParams, lodashGet(homeRoute, 'key')); + Navigation.setParams(emptyParams, lodashGet(homeRoute, 'key', '')); } /** From 45e7dfcd7d7dbd198b6627305761b55691f909fe Mon Sep 17 00:00:00 2001 From: tienifr Date: Tue, 25 Apr 2023 12:11:28 +0700 Subject: [PATCH 14/16] fix unit test --- src/libs/actions/SignInRedirect.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/libs/actions/SignInRedirect.js b/src/libs/actions/SignInRedirect.js index c477139866e0..0252798020f8 100644 --- a/src/libs/actions/SignInRedirect.js +++ b/src/libs/actions/SignInRedirect.js @@ -59,14 +59,17 @@ function clearStorageAndRedirect(errorMessage) { * Reset all current params of the Home route */ function resetHomeRouteParams() { - const routes = navigationRef.current && lodashGet(navigationRef.current.getState(), 'routes'); - const homeRoute = lodashFind(routes, route => route.name === SCREENS.HOME); + Navigation.isNavigationReady().then(() => { + const routes = navigationRef.current && lodashGet(navigationRef.current.getState(), 'routes'); + const homeRoute = lodashFind(routes, route => route.name === SCREENS.HOME); - const emptyParams = {}; - _.keys(lodashGet(homeRoute, 'params')).forEach((paramKey) => { - emptyParams[paramKey] = undefined; + const emptyParams = {}; + _.keys(lodashGet(homeRoute, 'params')).forEach((paramKey) => { + emptyParams[paramKey] = undefined; + }); + + Navigation.setParams(emptyParams, lodashGet(homeRoute, 'key', '')); }); - Navigation.setParams(emptyParams, lodashGet(homeRoute, 'key', '')); } /** From bed7f472452802d3d7c7eb8ccfd110eec9c1d103 Mon Sep 17 00:00:00 2001 From: tienifr Date: Fri, 28 Apr 2023 23:04:25 +0700 Subject: [PATCH 15/16] replace lodash with underscore --- src/libs/actions/SignInRedirect.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/actions/SignInRedirect.js b/src/libs/actions/SignInRedirect.js index 0252798020f8..f23e9ecb954e 100644 --- a/src/libs/actions/SignInRedirect.js +++ b/src/libs/actions/SignInRedirect.js @@ -61,7 +61,7 @@ function clearStorageAndRedirect(errorMessage) { function resetHomeRouteParams() { Navigation.isNavigationReady().then(() => { const routes = navigationRef.current && lodashGet(navigationRef.current.getState(), 'routes'); - const homeRoute = lodashFind(routes, route => route.name === SCREENS.HOME); + const homeRoute = _.find(routes, route => route.name === SCREENS.HOME); const emptyParams = {}; _.keys(lodashGet(homeRoute, 'params')).forEach((paramKey) => { From 6c6feabab887a511f3247be6495be25c5e6d778c Mon Sep 17 00:00:00 2001 From: tienifr Date: Fri, 28 Apr 2023 23:14:09 +0700 Subject: [PATCH 16/16] fix lint --- src/libs/actions/SignInRedirect.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libs/actions/SignInRedirect.js b/src/libs/actions/SignInRedirect.js index f23e9ecb954e..5a17540c8064 100644 --- a/src/libs/actions/SignInRedirect.js +++ b/src/libs/actions/SignInRedirect.js @@ -1,5 +1,4 @@ import Onyx from 'react-native-onyx'; -import lodashFind from 'lodash/find'; import lodashGet from 'lodash/get'; import _ from 'underscore'; import ONYXKEYS from '../../ONYXKEYS';