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.
server.jsGET /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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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/commandcall 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.htmlloadExecutions(),isAutomatedRun(),updateSubTabCounts().server.jsGET /api/executionsalready supportshide_internal=true,status,search,started_by– the frontend never sends any of them.Suggested fix
hide_internal=truefor Manual,started_by LIKE 'gandalf:%' OR 'scheduler:%'for Automated (add anonly_internalflag).