Automated runs (gandalf/scheduler) crowd out manual runs – Manual tab can appear empty #4

Open
opened 2026-09-08 20:57:18 -04:00 by jared · 0 comments
Owner

Overview

The Manual / Automated sub-tabs are filtered client-side from a single page of 50 executions (/api/executions?limit=50). The production server receives an /api/internal/command call every few seconds from Gandalf (see journal on CT122), so the newest 50 rows are frequently all automated. Result: the Manual Runs tab shows "No executions match your filters" even though manual runs exist, and the dashboard "Recent Executions" card (which takes the first 5 manual runs from the same page) is empty too.

The counters (N) on the sub-tabs only count the loaded page, so they under-report as well.

Where

  • public/index.html loadExecutions(), isAutomatedRun(), updateSubTabCounts().
  • server.js GET /api/executions already supports hide_internal=true, status, search, started_by – the frontend never sends any of them.

Suggested fix

  • Make the sub-tab drive the query: hide_internal=true for Manual, started_by LIKE 'gandalf:%' OR 'scheduler:%' for Automated (add an only_internal flag).
  • Return per-view totals from the server so the counters are correct.
  • Paginate each view independently.
## Overview The Manual / Automated sub-tabs are filtered **client-side** from a single page of 50 executions (`/api/executions?limit=50`). The production server receives an `/api/internal/command` call every few seconds from Gandalf (see journal on CT122), so the newest 50 rows are frequently all automated. Result: the **Manual Runs** tab shows "No executions match your filters" even though manual runs exist, and the dashboard "Recent Executions" card (which takes the first 5 manual runs from the same page) is empty too. The counters `(N)` on the sub-tabs only count the loaded page, so they under-report as well. ## Where - `public/index.html` `loadExecutions()`, `isAutomatedRun()`, `updateSubTabCounts()`. - `server.js` `GET /api/executions` already supports `hide_internal=true`, `status`, `search`, `started_by` – the frontend never sends any of them. ## Suggested fix - Make the sub-tab drive the query: `hide_internal=true` for Manual, `started_by LIKE 'gandalf:%' OR 'scheduler:%'` for Automated (add an `only_internal` flag). - Return per-view totals from the server so the counters are correct. - Paginate each view independently.
jared added the buguxfrontendbackendexecutionspriority/high labels 2026-09-08 20:57:18 -04:00
Sign in to join this conversation.