Merge pull request #1059 from JoeMakuta/fix/use-functional-set-state

refactor: use functional setState for updating connectors in useSearhSourceConnectors hook
This commit is contained in:
Rohan Verma 2026-03-31 14:34:02 -07:00 committed by GitHub
commit 2361e8731b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -185,9 +185,11 @@ export const useSearchSourceConnectors = (lazy: boolean = false, searchSpaceId?:
} }
const newConnector = await response.json(); const newConnector = await response.json();
const updatedConnectors = [...connectors, newConnector]; setConnectors(prev => {
setConnectors(updatedConnectors); const updated = [...prev, newConnector];
updateConnectorSourceItems(updatedConnectors); updateConnectorSourceItems(updated);
return updated;
});
return newConnector; return newConnector;
} catch (err) { } catch (err) {
console.error("Error creating search source connector:", err); console.error("Error creating search source connector:", err);
@ -219,11 +221,11 @@ export const useSearchSourceConnectors = (lazy: boolean = false, searchSpaceId?:
} }
const updatedConnector = await response.json(); const updatedConnector = await response.json();
const updatedConnectors = connectors.map((connector) => setConnectors(prev => {
connector.id === connectorId ? updatedConnector : connector const updated = prev.map(c => c.id === connectorId ? updatedConnector : c);
); updateConnectorSourceItems(updated);
setConnectors(updatedConnectors); return updated;
updateConnectorSourceItems(updatedConnectors); });
return updatedConnector; return updatedConnector;
} catch (err) { } catch (err) {
console.error("Error updating search source connector:", err); console.error("Error updating search source connector:", err);
@ -248,9 +250,11 @@ export const useSearchSourceConnectors = (lazy: boolean = false, searchSpaceId?:
throw new Error(`Failed to delete connector: ${response.statusText}`); throw new Error(`Failed to delete connector: ${response.statusText}`);
} }
const updatedConnectors = connectors.filter((connector) => connector.id !== connectorId); setConnectors(prev => {
setConnectors(updatedConnectors); const updated = prev.filter(c => c.id !== connectorId);
updateConnectorSourceItems(updatedConnectors); updateConnectorSourceItems(updated);
return updated;
});
} catch (err) { } catch (err) {
console.error("Error deleting search source connector:", err); console.error("Error deleting search source connector:", err);
throw err; throw err;
@ -295,22 +299,19 @@ export const useSearchSourceConnectors = (lazy: boolean = false, searchSpaceId?:
const result = await response.json(); const result = await response.json();
// Update the connector's last_indexed_at timestamp // Update the connector's last_indexed_at timestamp
const updatedConnectors = connectors.map((connector) => setConnectors(prev =>
connector.id === connectorId prev.map(c => c.id === connectorId
? { ? { ...c, last_indexed_at: new Date().toISOString() }
...connector, : c
last_indexed_at: new Date().toISOString(), )
}
: connector
); );
setConnectors(updatedConnectors);
return result; return result;
} catch (err) { } catch (err) {
console.error("Error indexing connector content:", err); console.error("Error indexing connector content:", err);
throw err; throw err;
} }
}; };
/** /**
* Get connector source items - memoized to prevent unnecessary re-renders * Get connector source items - memoized to prevent unnecessary re-renders