diff --git a/frontend/src/pages/ObjectDetail.tsx b/frontend/src/pages/ObjectDetail.tsx index 71f603f..658f8e0 100644 --- a/frontend/src/pages/ObjectDetail.tsx +++ b/frontend/src/pages/ObjectDetail.tsx @@ -175,21 +175,20 @@ export function ObjectDetailPage({ defaultMode = 'inventory' }: { defaultMode?: const [editRackForm] = Form.useForm() const currentAction = actions?.find((a) => a.name === selectedAction) - const discoveryRunning = discoverMutation.isPending || !!discoveryTaskId || !!discoveryStatus.data?.running + const discoveryRunning = discoverMutation.isPending || !!discoveryStatus.data?.running useEffect(() => { const statusTaskId = discoveryStatus.data?.task_id const statusRunning = !!discoveryStatus.data?.running if (statusRunning) { - // Re-attach only when drawer is closed and we don't already track the running task. - if (!discoveryOpen && !discoveryTaskId && statusTaskId) { + if (statusTaskId && discoveryTaskId !== statusTaskId) { setDiscoveryTaskId(statusTaskId) } return } - if (statusTaskId && discoveryTaskId === statusTaskId) { + if (!discoveryOpen && statusTaskId && discoveryTaskId === statusTaskId) { setDiscoveryTaskId(null) } }, [discoveryStatus.data, discoveryTaskId, discoveryOpen])