diff --git a/src/libs/actions/connections/index.ts b/src/libs/actions/connections/index.ts index 80c90ed1e1ce..fa2e274204a2 100644 --- a/src/libs/actions/connections/index.ts +++ b/src/libs/actions/connections/index.ts @@ -11,6 +11,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import type * as OnyxCommon from '@src/types/onyx/OnyxCommon'; import type {ConnectionName, Connections, PolicyConnectionName} from '@src/types/onyx/Policy'; import type Policy from '@src/types/onyx/Policy'; +import {isEmptyObject} from '@src/types/utils/EmptyObject'; type ConnectionNameExceptNetSuite = Exclude; @@ -382,7 +383,7 @@ function getSynchronizationErrorMessage(policy: OnyxEntry, connectionNam } const connection = policy?.connections?.[connectionName]; - if (isSyncInProgress || connection?.lastSync?.isSuccessful) { + if (isSyncInProgress || isEmptyObject(connection?.lastSync) || connection?.lastSync?.isSuccessful) { return; } return `${syncError} ("${connection?.lastSync?.errorMessage}")`; @@ -403,6 +404,12 @@ function isConnectionUnverified(policy: OnyxEntry, connectionName: Polic if (connectionName === CONST.POLICY.CONNECTIONS.NAME.NETSUITE) { return !(policy?.connections?.[CONST.POLICY.CONNECTIONS.NAME.NETSUITE]?.verified ?? true); } + + // If the connection has no lastSync property, we'll consider it unverified + if (isEmptyObject(policy?.connections?.[connectionName]?.lastSync)) { + return true; + } + return !(policy?.connections?.[connectionName]?.lastSync?.isConnected ?? true); }