diff --git a/ui/src/pages/RoutineDetail.tsx b/ui/src/pages/RoutineDetail.tsx
index d5690542..f25ffba9 100644
--- a/ui/src/pages/RoutineDetail.tsx
+++ b/ui/src/pages/RoutineDetail.tsx
@@ -16,6 +16,7 @@ import {
Zap,
} from "lucide-react";
import { routinesApi, type RoutineTriggerResponse, type RotateRoutineTriggerResponse } from "../api/routines";
+import { LiveRunWidget } from "../components/LiveRunWidget";
import { agentsApi } from "../api/agents";
import { projectsApi } from "../api/projects";
import { useCompany } from "../context/CompanyContext";
@@ -279,11 +280,14 @@ export function RoutineDetail() {
queryKey: queryKeys.routines.detail(routineId!),
queryFn: () => routinesApi.get(routineId!),
enabled: !!routineId,
+ refetchInterval: (query) => query.state.data?.activeIssue ? 5000 : false,
});
+ const hasLiveRun = !!routine?.activeIssue;
const { data: routineRuns } = useQuery({
queryKey: queryKeys.routines.runs(routineId!),
queryFn: () => routinesApi.listRuns(routineId!),
enabled: !!routineId,
+ refetchInterval: hasLiveRun ? 3000 : false,
});
const relatedActivityIds = useMemo(
() => ({
@@ -865,6 +869,7 @@ export function RoutineDetail() {
Runs
+ {hasLiveRun && }
@@ -947,7 +952,10 @@ export function RoutineDetail() {
)}
-
+
+ {routine?.activeIssue && (
+
+ )}
{(routineRuns ?? []).length === 0 ? (
No runs yet.
) : (