diff --git a/src/common/TrackingComponent.tsx b/src/common/TrackingComponent.tsx index 1bd766ac..1af47d8c 100644 --- a/src/common/TrackingComponent.tsx +++ b/src/common/TrackingComponent.tsx @@ -115,7 +115,7 @@ const TrackingComponent: React.FC = ({ children }) => { { taskId: FOREGROUND_TASKS.FIRESTORE_FALLBACK, task: handleGetCaseSyncStatus, - delay: 30 * MILLISECONDS_IN_A_MINUTE, // 30 minutes + delay: 5 * MILLISECONDS_IN_A_MINUTE, // 5 minutes onLoop: true, }, ]; diff --git a/src/reducer/allCasesSlice.ts b/src/reducer/allCasesSlice.ts index d7136833..9d0ecd97 100644 --- a/src/reducer/allCasesSlice.ts +++ b/src/reducer/allCasesSlice.ts @@ -516,7 +516,10 @@ const allCasesSlice = createSlice({ }, syncCasesByFallback: (state, action) => { const { cases = [], deletedCaseIds = [], payloadCreatedAt } = action.payload; - cases.forEach((caseItem: CaseDetail) => { + cases.forEach((caseItem: CaseDetail | null) => { + if (!caseItem) { + return; + } const { caseViewCreatedAt, caseReferenceId, isSynced, pinRank } = caseItem; if ( !state.caseDetails[caseReferenceId] || @@ -525,15 +528,15 @@ const allCasesSlice = createSlice({ const caseListItem = getCaseListItem(caseReferenceId, pinRank, caseViewCreatedAt); state.casesList.unshift(caseListItem); state.caseDetails[caseReferenceId] = { ...caseItem, isSynced: true }; - const { pendingList, completedList, pinnedList } = getCaseListComponents( - state.casesList, - state.caseDetails - ); - state.pendingList = pendingList; - state.completedList = completedList; - state.pinnedList = pinnedList; } }); + const { pendingList, completedList, pinnedList } = getCaseListComponents( + state.casesList, + state.caseDetails + ); + state.pendingList = pendingList; + state.completedList = completedList; + state.pinnedList = pinnedList; deletedCaseIds.forEach((caseItem: CaseDetail) => { const { caseViewCreatedAt, caseReferenceId } = caseItem; if (caseViewCreatedAt && caseViewCreatedAt < payloadCreatedAt) { diff --git a/src/services/foregroundServices/foreground.service.ts b/src/services/foregroundServices/foreground.service.ts index 69674e7f..44d52903 100644 --- a/src/services/foregroundServices/foreground.service.ts +++ b/src/services/foregroundServices/foreground.service.ts @@ -54,6 +54,7 @@ class CosmosForegroundService { public static async stopAll() { try { + await ForegroundService.remove_all_tasks(); await ForegroundService.stop(); await ForegroundService.stopAll(); } catch (e: any) {