diff --git a/src/pages/workspace/accounting/PolicyAccountingPage.tsx b/src/pages/workspace/accounting/PolicyAccountingPage.tsx
index b25342b0110c..9746737eb075 100644
--- a/src/pages/workspace/accounting/PolicyAccountingPage.tsx
+++ b/src/pages/workspace/accounting/PolicyAccountingPage.tsx
@@ -47,6 +47,7 @@ import {
settingsPendingAction,
shouldShowSyncError,
} from '@libs/PolicyUtils';
+import type {SkeletonSpanReasonAttributes} from '@libs/telemetry/useSkeletonSpan';
import Navigation from '@navigation/Navigation';
import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
@@ -417,6 +418,10 @@ function PolicyAccountingPage({policy}: PolicyAccountingPageProps) {
},
];
+ const syncActivityReasonAttributes: SkeletonSpanReasonAttributes = {
+ context: 'PolicyAccountingPage.connectionsMenuItems',
+ isSyncInProgress,
+ };
return [
{
...iconProps,
@@ -429,7 +434,10 @@ function PolicyAccountingPage({policy}: PolicyAccountingPageProps) {
shouldShowRedDotIndicator: true,
description: connectionMessage,
rightComponent: isSyncInProgress ? (
-
+
) : (
{shouldShowError && (
@@ -100,7 +106,7 @@ function RequireQuickBooksDesktopModal({route}: RequireQuickBooksDesktopModalPro
{translate('workspace.qbd.setupPage.body')}
{!hasResultOfFetchingSetupLink ? (
-
+
) : (
;
+ const fullscreenReasonAttributes: SkeletonSpanReasonAttributes = {
+ context: 'BankConnection',
+ };
+ const activityReasonAttributes: SkeletonSpanReasonAttributes = {
+ context: 'BankConnection',
+ isAllFeedsResultLoading,
+ isBlockedToAddNewFeedsWithoutFeed: isBlockedToAddNewFeeds && !feed,
+ isConnectionCompleted,
+ isPlaid,
+ };
+ const renderLoading = () => ;
useEffect(() => {
if (!policyID || !isBlockedToAddNewFeeds || feed) {
@@ -189,6 +200,7 @@ function BankConnection({policyID: policyIDFromProps, feed, route}: BankConnecti
)}
{isNewFeedHasError && (
diff --git a/src/pages/workspace/companyCards/BankConnection/index.tsx b/src/pages/workspace/companyCards/BankConnection/index.tsx
index 90d9415fd6a4..79e91521b3ca 100644
--- a/src/pages/workspace/companyCards/BankConnection/index.tsx
+++ b/src/pages/workspace/companyCards/BankConnection/index.tsx
@@ -19,6 +19,7 @@ import useUpdateFeedBrokenConnection from '@hooks/useUpdateFeedBrokenConnection'
import {setAssignCardStepAndData} from '@libs/actions/CompanyCards';
import {checkIfNewFeedConnected, getBankName, getCompanyCardFeed, isSelectedFeedExpired} from '@libs/CardUtils';
import Navigation from '@libs/Navigation/Navigation';
+import type {SkeletonSpanReasonAttributes} from '@libs/telemetry/useSkeletonSpan';
import type {PlatformStackRouteProp} from '@navigation/PlatformStackNavigation/types';
import type {SettingsNavigatorParamList} from '@navigation/types';
import WorkspaceCompanyCardsErrorConfirmation from '@pages/workspace/companyCards/WorkspaceCompanyCardsErrorConfirmation';
@@ -214,10 +215,17 @@ function BankConnection({policyID: policyIDFromProps, feed, route}: BankConnecti
/>
);
}
+ const activityReasonAttributes: SkeletonSpanReasonAttributes = {
+ context: 'BankConnection',
+ isPlaid,
+ isAllFeedsResultLoading,
+ isBlockedToAddNewFeedsWithoutFeed: isBlockedToAddNewFeeds && !feed,
+ };
return (
);
};
diff --git a/src/pages/workspace/companyCards/WorkspaceCompanyCardDetailsPage.tsx b/src/pages/workspace/companyCards/WorkspaceCompanyCardDetailsPage.tsx
index 84e6eba2bb76..b61547bbf84b 100644
--- a/src/pages/workspace/companyCards/WorkspaceCompanyCardDetailsPage.tsx
+++ b/src/pages/workspace/companyCards/WorkspaceCompanyCardDetailsPage.tsx
@@ -30,6 +30,7 @@ import type {SettingsNavigatorParamList} from '@libs/Navigation/types';
import {getDisplayNameOrDefault} from '@libs/PersonalDetailsUtils';
import {getConnectedIntegration} from '@libs/PolicyUtils';
import {buildCannedSearchQuery} from '@libs/SearchQueryUtils';
+import type {SkeletonSpanReasonAttributes} from '@libs/telemetry/useSkeletonSpan';
import Navigation from '@navigation/Navigation';
import NotFoundPage from '@pages/ErrorPage/NotFoundPage';
import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
@@ -120,6 +121,11 @@ function WorkspaceCompanyCardDetailsPage({route}: WorkspaceCompanyCardDetailsPag
return format(getLocalDateFromDatetime(card?.lastScrape), CONST.DATE.FNS_DATE_TIME_FORMAT_STRING);
}, [getLocalDateFromDatetime, card?.lastScrape, translate]);
+ const lastUpdatedActivityReasonAttributes: SkeletonSpanReasonAttributes = {
+ context: 'WorkspaceCompanyCardDetailsPage',
+ isLoadingLastUpdated: card?.isLoadingLastUpdated,
+ };
+
// Don't show NotFoundPage if card is being unassigned or data is still loading
if ((!card && !isUnassigningRef.current && !isLoadingOnyxValue(allBankCardsMetadata) && !isLoadingOnyxValue(cardListMetadata)) || (isCardBeingUnassigned && !isUnassigningRef.current)) {
return ;
@@ -221,7 +227,12 @@ function WorkspaceCompanyCardDetailsPage({route}: WorkspaceCompanyCardDetailsPag
) : null}
}
+ rightComponent={
+
+ }
description={translate('workspace.moreFeatures.companyCards.lastUpdated')}
title={card?.isLoadingLastUpdated ? translate('workspace.moreFeatures.companyCards.updating') : lastScrape}
interactive={false}
diff --git a/src/pages/workspace/companyCards/addNew/PlaidConnectionStep.tsx b/src/pages/workspace/companyCards/addNew/PlaidConnectionStep.tsx
index 348da6f18191..c6b9762af087 100644
--- a/src/pages/workspace/companyCards/addNew/PlaidConnectionStep.tsx
+++ b/src/pages/workspace/companyCards/addNew/PlaidConnectionStep.tsx
@@ -16,6 +16,7 @@ import {setAddNewCompanyCardStepAndData, setAssignCardStepAndData} from '@libs/a
import KeyboardShortcut from '@libs/KeyboardShortcut';
import Log from '@libs/Log';
import {getDomainNameForPolicy} from '@libs/PolicyUtils';
+import type {SkeletonSpanReasonAttributes} from '@libs/telemetry/useSkeletonSpan';
import Navigation from '@navigation/Navigation';
import {handleRestrictedEvent} from '@userActions/App';
import {setPlaidEvent} from '@userActions/BankAccounts';
@@ -194,9 +195,16 @@ function PlaidConnectionStep({feed, policyID, onExit}: {feed?: CompanyCardFeedWi
}
if (plaidData?.isLoading) {
+ const reasonAttributes: SkeletonSpanReasonAttributes = {
+ context: 'PlaidConnectionStep.renderPlaidLink',
+ isPlaidDataLoading: plaidData?.isLoading,
+ };
return (
-
+
);
}
diff --git a/src/pages/workspace/companyCards/assignCard/TransactionStartDateStep.tsx b/src/pages/workspace/companyCards/assignCard/TransactionStartDateStep.tsx
index ac2a94b1a425..eb3f010cbec4 100644
--- a/src/pages/workspace/companyCards/assignCard/TransactionStartDateStep.tsx
+++ b/src/pages/workspace/companyCards/assignCard/TransactionStartDateStep.tsx
@@ -11,6 +11,7 @@ import Text from '@components/Text';
import useLocalize from '@hooks/useLocalize';
import useOnyx from '@hooks/useOnyx';
import useThemeStyles from '@hooks/useThemeStyles';
+import type {SkeletonSpanReasonAttributes} from '@libs/telemetry/useSkeletonSpan';
import {isRequiredFulfilled} from '@libs/ValidationUtils';
import Navigation from '@navigation/Navigation';
import {setAssignCardStepAndData} from '@userActions/CompanyCards';
@@ -85,6 +86,10 @@ function TransactionStartDateStep() {
];
const isLoading = isLoadingOnyxValue(assignCardMeta);
+ const activityReasonAttributes: SkeletonSpanReasonAttributes = {
+ context: 'TransactionStartDateStep',
+ isLoading,
+ };
return (
) : (
<>