@@ -185,9 +185,11 @@ export const useSearchSourceConnectors = (lazy: boolean = false, searchSpaceId?:
185185 }
186186
187187 const newConnector = await response . json ( ) ;
188- const updatedConnectors = [ ...connectors , newConnector ] ;
189- setConnectors ( updatedConnectors ) ;
190- updateConnectorSourceItems ( updatedConnectors ) ;
188+ setConnectors ( prev => {
189+ const updated = [ ...prev , newConnector ] ;
190+ updateConnectorSourceItems ( updated ) ;
191+ return updated ;
192+ } ) ;
191193 return newConnector ;
192194 } catch ( err ) {
193195 console . error ( "Error creating search source connector:" , err ) ;
@@ -219,11 +221,11 @@ export const useSearchSourceConnectors = (lazy: boolean = false, searchSpaceId?:
219221 }
220222
221223 const updatedConnector = await response . json ( ) ;
222- const updatedConnectors = connectors . map ( ( connector ) =>
223- connector . id === connectorId ? updatedConnector : connector
224- ) ;
225- setConnectors ( updatedConnectors ) ;
226- updateConnectorSourceItems ( updatedConnectors ) ;
224+ setConnectors ( prev => {
225+ const updated = prev . map ( c => c . id === connectorId ? updatedConnector : c ) ;
226+ updateConnectorSourceItems ( updated ) ;
227+ return updated ;
228+ } ) ;
227229 return updatedConnector ;
228230 } catch ( err ) {
229231 console . error ( "Error updating search source connector:" , err ) ;
@@ -248,9 +250,11 @@ export const useSearchSourceConnectors = (lazy: boolean = false, searchSpaceId?:
248250 throw new Error ( `Failed to delete connector: ${ response . statusText } ` ) ;
249251 }
250252
251- const updatedConnectors = connectors . filter ( ( connector ) => connector . id !== connectorId ) ;
252- setConnectors ( updatedConnectors ) ;
253- updateConnectorSourceItems ( updatedConnectors ) ;
253+ setConnectors ( prev => {
254+ const updated = prev . filter ( c => c . id !== connectorId ) ;
255+ updateConnectorSourceItems ( updated ) ;
256+ return updated ;
257+ } ) ;
254258 } catch ( err ) {
255259 console . error ( "Error deleting search source connector:" , err ) ;
256260 throw err ;
@@ -295,22 +299,19 @@ export const useSearchSourceConnectors = (lazy: boolean = false, searchSpaceId?:
295299 const result = await response . json ( ) ;
296300
297301 // Update the connector's last_indexed_at timestamp
298- const updatedConnectors = connectors . map ( ( connector ) =>
299- connector . id === connectorId
300- ? {
301- ...connector ,
302- last_indexed_at : new Date ( ) . toISOString ( ) ,
303- }
304- : connector
302+ setConnectors ( prev =>
303+ prev . map ( c => c . id === connectorId
304+ ? { ...c , last_indexed_at : new Date ( ) . toISOString ( ) }
305+ : c
306+ )
305307 ) ;
306- setConnectors ( updatedConnectors ) ;
307308
308309 return result ;
309- } catch ( err ) {
310- console . error ( "Error indexing connector content:" , err ) ;
311- throw err ;
312- }
313- } ;
310+ } catch ( err ) {
311+ console . error ( "Error indexing connector content:" , err ) ;
312+ throw err ;
313+ }
314+ } ;
314315
315316 /**
316317 * Get connector source items - memoized to prevent unnecessary re-renders
0 commit comments