Skip to content

Commit adf9a76

Browse files
committed
fix: add workspace errors to cardFeedErrors
1 parent 7ced657 commit adf9a76

2 files changed

Lines changed: 19 additions & 2 deletions

File tree

src/libs/actions/OnyxDerived/configs/cardFeedErrors.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {getCombinedCardFeedsFromAllFeeds} from '@libs/CardFeedUtils';
1+
import {getCombinedCardFeedsFromAllFeeds, getWorkspaceCardFeedsStatus} from '@libs/CardFeedUtils';
22
import {filterInactiveCards, getCompanyCardFeedWithDomainID, isCardConnectionBroken} from '@libs/CardUtils';
33
import createOnyxDerivedValueConfig from '@userActions/OnyxDerived/createOnyxDerivedValueConfig';
44
import CONST from '@src/CONST';
@@ -13,13 +13,17 @@ const DEFAULT_CARD_FEED_ERROR_STATE: CardFeedErrorState = {
1313
shouldShowRBR: false,
1414
hasFailedCardAssignments: false,
1515
hasFeedErrors: false,
16+
hasWorkspaceErrors: false,
1617
isFeedConnectionBroken: false,
1718
};
1819

1920
function getShouldShowRBR(state: Partial<CardFeedErrorState>): boolean {
2021
if (state.hasFeedErrors) {
2122
return true;
2223
}
24+
if (state.hasWorkspaceErrors) {
25+
return true;
26+
}
2327
if (state.hasFailedCardAssignments) {
2428
return true;
2529
}
@@ -32,6 +36,8 @@ export default createOnyxDerivedValueConfig({
3236
dependencies: [ONYXKEYS.CARD_LIST, ONYXKEYS.COLLECTION.WORKSPACE_CARDS_LIST, ONYXKEYS.COLLECTION.FAILED_COMPANY_CARDS_ASSIGNMENTS, ONYXKEYS.COLLECTION.SHARED_NVP_PRIVATE_DOMAIN_MEMBER],
3337
compute: ([globalCardList, allWorkspaceCards, failedCompanyCardAssignmentsPerFeed, cardFeeds]) => {
3438
const combinedCompanyCardFeeds = getCombinedCardFeedsFromAllFeeds(cardFeeds);
39+
const workspaceCardFeedsStatus = getWorkspaceCardFeedsStatus(cardFeeds);
40+
3541
const cardFeedErrors: CardFeedErrorsObject = {};
3642
const shouldShowRbrForWorkspaceAccountID: Record<number, boolean> = {};
3743
const shouldShowRbrForFeedNameWithDomainID: Record<string, boolean> = {};
@@ -62,6 +68,9 @@ export default createOnyxDerivedValueConfig({
6268
} as Errors;
6369
const hasFeedErrors = feedNameWithDomainID ? !isEmptyObject(feedErrors) : false;
6470

71+
const workspaceErrors = workspaceCardFeedsStatus?.[workspaceAccountID]?.errors;
72+
const hasWorkspaceErrors = !!workspaceErrors;
73+
6574
const hasFailedCardAssignments = !isEmptyObject(
6675
failedCompanyCardAssignmentsPerFeed?.[`${ONYXKEYS.COLLECTION.FAILED_COMPANY_CARDS_ASSIGNMENTS}${workspaceAccountID}_${feedNameWithDomainID}`],
6776
);
@@ -86,6 +95,7 @@ export default createOnyxDerivedValueConfig({
8695
const newFeedState: Omit<CardFeedErrorState, 'shouldShowRBR'> = {
8796
isFeedConnectionBroken: isFeedConnectionBroken || previousFeedErrors.isFeedConnectionBroken,
8897
hasFeedErrors: hasFeedErrors || previousFeedErrors.hasFeedErrors,
98+
hasWorkspaceErrors: hasWorkspaceErrors || previousFeedErrors.hasWorkspaceErrors,
8999
hasFailedCardAssignments: hasFailedCardAssignments || previousFeedErrors.hasFailedCardAssignments,
90100
};
91101

@@ -96,6 +106,7 @@ export default createOnyxDerivedValueConfig({
96106
shouldShowRBR,
97107
cardErrors,
98108
feedErrors,
109+
workspaceErrors,
99110
};
100111

101112
// Track cards with broken feed connection
@@ -108,10 +119,12 @@ export default createOnyxDerivedValueConfig({
108119

109120
allFeedsState.isFeedConnectionBroken ||= newFeedState.isFeedConnectionBroken;
110121
allFeedsState.hasFeedErrors ||= newFeedState.hasFeedErrors;
122+
allFeedsState.hasWorkspaceErrors ||= newFeedState.hasWorkspaceErrors;
111123
allFeedsState.hasFailedCardAssignments ||= newFeedState.hasFailedCardAssignments;
112124

113125
cardTypeState.isFeedConnectionBroken ||= newFeedState.isFeedConnectionBroken;
114126
cardTypeState.hasFeedErrors ||= newFeedState.hasFeedErrors;
127+
cardTypeState.hasWorkspaceErrors ||= newFeedState.hasWorkspaceErrors;
115128
cardTypeState.hasFailedCardAssignments ||= newFeedState.hasFailedCardAssignments;
116129

117130
shouldShowRbrForWorkspaceAccountID[workspaceAccountID] ||= shouldShowRBR;

src/types/onyx/DerivedValues.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ type CardFeedErrorState = {
118118
/**
119119
* Whether some workspace has errors.
120120
*/
121-
// hasWorkspaceErrors: boolean;
121+
hasWorkspaceErrors: boolean;
122122

123123
/**
124124
* Whether some feed connection is broken.
@@ -138,6 +138,10 @@ type FeedErrors = CardFeedErrorState & {
138138
* The errors of all cards for a specific feed within a workspace/domain.
139139
*/
140140
cardErrors: Record<string, CardErrors>;
141+
/**
142+
* The errors of the workspace/domain.
143+
*/
144+
workspaceErrors?: Errors;
141145
};
142146

143147
/**

0 commit comments

Comments
 (0)