From 339c05c2d460185f49e12062aa88e42653e0b3bb Mon Sep 17 00:00:00 2001 From: dotta Date: Thu, 19 Mar 2026 17:38:05 -0500 Subject: [PATCH] Remove Issues tab from routine detail page Keep only Triggers, Runs, and Activity tabs per board request. Cleaned up unused executionIssues query, IssueRow and ListTree imports. Co-Authored-By: Paperclip --- ui/src/pages/RoutineDetail.tsx | 33 ++------------------------------- 1 file changed, 2 insertions(+), 31 deletions(-) diff --git a/ui/src/pages/RoutineDetail.tsx b/ui/src/pages/RoutineDetail.tsx index 58adcd68..d5690542 100644 --- a/ui/src/pages/RoutineDetail.tsx +++ b/ui/src/pages/RoutineDetail.tsx @@ -7,7 +7,6 @@ import { ChevronRight, Clock3, Copy, - ListTree, Play, RefreshCw, Repeat, @@ -17,7 +16,6 @@ import { Zap, } from "lucide-react"; import { routinesApi, type RoutineTriggerResponse, type RotateRoutineTriggerResponse } from "../api/routines"; -import { issuesApi } from "../api/issues"; import { agentsApi } from "../api/agents"; import { projectsApi } from "../api/projects"; import { useCompany } from "../context/CompanyContext"; @@ -28,7 +26,6 @@ import { timeAgo } from "../lib/timeAgo"; import { EmptyState } from "../components/EmptyState"; import { PageSkeleton } from "../components/PageSkeleton"; import { AgentIcon } from "../components/AgentIconPicker"; -import { IssueRow } from "../components/IssueRow"; import { InlineEntitySelector, type InlineEntityOption } from "../components/InlineEntitySelector"; import { MarkdownEditor, type MarkdownEditorRef } from "../components/MarkdownEditor"; import { ScheduleEditor, describeSchedule } from "../components/ScheduleEditor"; @@ -54,7 +51,7 @@ const concurrencyPolicies = ["coalesce_if_active", "always_enqueue", "skip_if_ac const catchUpPolicies = ["skip_missed", "enqueue_missed_with_cap"]; const triggerKinds = ["schedule", "webhook", "api"]; const signingModes = ["bearer", "hmac_sha256"]; -const routineTabs = ["triggers", "runs", "issues", "activity"] as const; +const routineTabs = ["triggers", "runs", "activity"] as const; const concurrencyPolicyDescriptions: Record = { coalesce_if_active: "Keep one follow-up run queued while an active run is still working.", always_enqueue: "Queue every trigger occurrence, even if several runs stack up.", @@ -295,16 +292,6 @@ export function RoutineDetail() { }), [routine?.triggers, routineRuns], ); - const { data: executionIssues } = useQuery({ - queryKey: ["routine-execution-issues", selectedCompanyId, routineId], - queryFn: () => - issuesApi.list(selectedCompanyId!, { - originKind: "routine_execution", - originId: routineId!, - includeRoutineExecutions: true, - }), - enabled: !!selectedCompanyId && !!routineId, - }); const { data: activity } = useQuery({ queryKey: [ ...queryKeys.routines.activity(selectedCompanyId!, routineId!), @@ -879,11 +866,7 @@ export function RoutineDetail() { Runs - - - Issues - - + Activity @@ -992,18 +975,6 @@ export function RoutineDetail() { )} - - {(executionIssues ?? []).length === 0 ? ( -

No execution issues yet.

- ) : ( -
- {(executionIssues ?? []).map((issue) => ( - - ))} -
- )} -
- {(activity ?? []).length === 0 ? (

No activity yet.