@@ -17,15 +17,15 @@ import {useDateNavigation} from 'sentry/components/checkInTimeline/hooks/useDate
1717import { useTimeWindowConfig } from 'sentry/components/checkInTimeline/hooks/useTimeWindowConfig' ;
1818import { Panel } from 'sentry/components/panels/panel' ;
1919import { Sticky } from 'sentry/components/sticky' ;
20- import { setApiQueryData , useQueryClient } from 'sentry/utils/queryClient' ;
20+ import { useQueryClient } from 'sentry/utils/queryClient' ;
2121import { useApi } from 'sentry/utils/useApi' ;
2222import { useDebouncedValue } from 'sentry/utils/useDebouncedValue' ;
2323import { useDimensions } from 'sentry/utils/useDimensions' ;
2424import { useLocation } from 'sentry/utils/useLocation' ;
2525import { useOrganization } from 'sentry/utils/useOrganization' ;
2626import { CronServiceIncidents } from 'sentry/views/insights/crons/components/serviceIncidents' ;
2727import type { Monitor } from 'sentry/views/insights/crons/types' ;
28- import { makeMonitorListQueryKey } from 'sentry/views/insights/crons/utils' ;
28+ import { monitorListApiOptions } from 'sentry/views/insights/crons/utils' ;
2929
3030import { OverviewRow } from './overviewRow' ;
3131import { SortSelector } from './sortSelector' ;
@@ -53,14 +53,16 @@ export function OverviewTimeline({monitorList}: Props) {
5353 return ;
5454 }
5555
56- const queryKey = makeMonitorListQueryKey ( organization , location . query ) ;
57- setApiQueryData < Monitor [ ] > ( queryClient , queryKey , oldMonitorList => {
58- if ( ! oldMonitorList ) {
56+ const monitorListOptions = monitorListApiOptions ( organization , location . query ) ;
57+
58+ queryClient . setQueryData ( monitorListOptions . queryKey , old => {
59+ if ( ! old ) {
5960 return undefined ;
6061 }
62+ const oldMonitorList = old . json ;
6163 const oldMonitorIdx = oldMonitorList . findIndex ( m => m . slug === monitor . slug ) ;
6264 if ( oldMonitorIdx < 0 ) {
63- return oldMonitorList ;
65+ return old ;
6466 }
6567
6668 const oldMonitor = oldMonitorList [ oldMonitorIdx ] ! ;
@@ -74,10 +76,10 @@ export function OverviewTimeline({monitorList}: Props) {
7476 const right = oldMonitorList . slice ( oldMonitorIdx + 1 ) ;
7577
7678 if ( newEnvList . length === 0 ) {
77- return [ ...left , ...right ] ;
79+ return { ... old , json : [ ...left , ...right ] } ;
7880 }
7981
80- return [ ...left , updatedMonitor , ...right ] ;
82+ return { ... old , json : [ ...left , updatedMonitor , ...right ] } ;
8183 } ) ;
8284 } ;
8385
@@ -98,11 +100,14 @@ export function OverviewTimeline({monitorList}: Props) {
98100 return ;
99101 }
100102
101- const queryKey = makeMonitorListQueryKey ( organization , location . query ) ;
102- setApiQueryData < Monitor [ ] > ( queryClient , queryKey , oldMonitorList => {
103- return oldMonitorList
104- ? // TODO(davidenwang): in future only change the specifically modified environment for optimistic updates
105- oldMonitorList . map ( m => ( m . slug === monitor . slug ? resp : m ) )
103+ const monitorListOptions = monitorListApiOptions ( organization , location . query ) ;
104+ queryClient . setQueryData ( monitorListOptions . queryKey , old => {
105+ return old
106+ ? {
107+ ...old ,
108+ // TODO(davidenwang): in future only change the specifically modified environment for optimistic updates
109+ json : old . json . map ( m => ( m . slug === monitor . slug ? resp : m ) ) ,
110+ }
106111 : undefined ;
107112 } ) ;
108113 } ;
@@ -115,12 +120,15 @@ export function OverviewTimeline({monitorList}: Props) {
115120 return ;
116121 }
117122
118- const queryKey = makeMonitorListQueryKey ( organization , location . query ) ;
119- setApiQueryData < Monitor [ ] > ( queryClient , queryKey , oldMonitorList => {
120- return oldMonitorList
121- ? oldMonitorList . map ( m =>
122- m . slug === monitor . slug ? { ...m , status : resp . status } : m
123- )
123+ const monitorListOptions = monitorListApiOptions ( organization , location . query ) ;
124+ queryClient . setQueryData ( monitorListOptions . queryKey , old => {
125+ return old
126+ ? {
127+ ...old ,
128+ json : old . json . map ( m =>
129+ m . slug === monitor . slug ? { ...m , status : resp . status } : m
130+ ) ,
131+ }
124132 : undefined ;
125133 } ) ;
126134 } ;
0 commit comments