From c36179108022bbda3cc32e1ceb3f4a9e475f8543 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 6 Sep 2026 19:58:39 +0000 Subject: [PATCH] fix(automation): stop the list claiming an automation never runs An automation can be triggered two ways, and they are stored in different places: global triggers live in the automation settings, event triggers live on the event itself, inside the rundown. The panel only ever receives the first list. So the Runs on column was reading an automation attached to ten events as having no triggers at all, and saying "Never runs" about something that runs perfectly well. Worse than a missing hint: it taught that event triggers do not count. The client cannot honestly answer the question either, since it holds only the rundown that is currently loaded and a project can have several. So the column no longer answers it. An empty cell now reads as an em dash, the same as the filter rule column beside it, and claims nothing. The "No outputs" tag stays. An automation with nothing to send does nothing whatever triggers it, and that the panel can see for itself. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01AfDKsy6PE3Rbyt32Fg4YKf --- .../automations-panel/AutomationsList.tsx | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/apps/client/src/features/app-settings/panel/automations-panel/AutomationsList.tsx b/apps/client/src/features/app-settings/panel/automations-panel/AutomationsList.tsx index 42fb3e47b..387c76ef9 100644 --- a/apps/client/src/features/app-settings/panel/automations-panel/AutomationsList.tsx +++ b/apps/client/src/features/app-settings/panel/automations-panel/AutomationsList.tsx @@ -145,13 +145,20 @@ export default function AutomationsList({ {automation.title} -
- {lifecycles.length === 0 ? ( - Never runs - ) : ( - lifecycles.map((cycle) => {getLifecycleLabel(cycle)}) - )} -
+ {/* + * Only global triggers are visible here: an automation can also be attached to + * single events, which live in the rundown. An empty cell is therefore not the + * same as never running, so it says nothing rather than claiming that. + */} + {lifecycles.length === 0 ? ( + + ) : ( +
+ {lifecycles.map((cycle) => ( + {getLifecycleLabel(cycle)} + ))} +
+ )} {automation.filters.length === 0 ? (