Skip to content

feat(dashboard): require workflow selection before loading runs - #42363

Merged
pelikhan merged 3 commits into
mainfrom
pelikhan-extensions-dashboard-workflow-filter
Jun 30, 2026
Merged

feat(dashboard): require workflow selection before loading runs#42363
pelikhan merged 3 commits into
mainfrom
pelikhan-extensions-dashboard-workflow-filter

Conversation

@pelikhan

@pelikhan pelikhan commented Jun 29, 2026

Copy link
Copy Markdown
Collaborator

Summary\n\nThis PR makes workflow selection mandatory before run data is fetched in the Agentic Workflows Dashboard. It also ships two platform-compatibility fixes for Windows and restricted sandb

Generated by PR Description Updater for #42363 · 53.1 AIC · ⌖ 6.76 AIC · ⊞ 4.7K ·

Add a workflow selector to the Runs tab so logs are only fetched for
the chosen workflow instead of all workflows at once.

- Add selectedWorkflowFilter state (empty = none selected)
- fetchRuns() is a no-op when no workflow is selected (clears runs)
- selectWorkflowFilter() sets the filter and triggers fetchRuns()
- init() no longer fetches runs on startup; user picks a workflow first
- buildLogsCommand() includes the workflow name when one is selected
- /api/runs now accepts workflow_name query param and forwards it to getRuns()
- Runs tab shows a prompt to select a workflow when none is chosen
- workflow_name column removed from run rows (redundant with the filter)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 29, 2026 22:44
@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Comment Memory

CI lights the path
Green checks bloom at dawn
Quiet bots still sing

Note

This comment is managed by comment memory.

It stores persistent context for this thread in the code block at the top of this comment.
Edit only the text inside the backtick fences; workflow metadata and the footer are regenerated automatically.

Learn more about comment memory

Generated by 🧪 Smoke CI for #42363 ·

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves the Agentic Workflows Dashboard “Runs” tab performance by requiring the user to select a single workflow before runs are fetched, avoiding expensive “download logs for every workflow” behavior on initial load and tab switches.

Changes:

  • Added a workflow <select> control to the Runs tab and gated run rendering/fetching on selectedWorkflowFilter.
  • Updated the frontend run-fetch request to include workflow_name, and updated the server endpoint to forward that filter to getRuns().
  • Simplified the runs table row display by removing the per-row workflow name column (redundant when filtered).
Show a summary per file
File Description
.github/extensions/agentic-workflows-dashboard/web/index.html Adds workflow selector UI and gates run list rendering until a workflow is chosen.
.github/extensions/agentic-workflows-dashboard/web/app.js Implements selected-workflow gating in the compiled web bundle and passes workflow_name when fetching runs.
.github/extensions/agentic-workflows-dashboard/src/app.ts Implements selected-workflow gating in the TypeScript source and updates the suggested gh aw logs command.
.github/extensions/agentic-workflows-dashboard/extension.mjs Extends /api/runs to accept workflow_name and forward it to getRuns().

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 4/4 changed files
  • Comments generated: 2
  • Review effort level: Low

Comment on lines +318 to +324
if (!this.selectedWorkflowFilter) {
this.runs = [];
this.runsMeta = null;
this.selectedRun = null;
this.loadRunPage(1);
return;
}
Comment on lines +3490 to +3496
if (!this.selectedWorkflowFilter) {
this.runs = [];
this.runsMeta = null;
this.selectedRun = null;
this.loadRunPage(1);
return;
}
pelikhan and others added 2 commits June 29, 2026 15:48
…x compat

The Copilot extension sandbox does not support the /promises sub-path
export. Replace the import with promisify() over the callback execFile
from node:child_process, which the sandbox allows.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Without detached:true, Node.js spawns gh-aw.exe in the same process
group as the extension sandbox process. On Windows, this causes gh-aw
to hang indefinitely regardless of stdio settings. Setting detached:true
creates a new process group (CREATE_NEW_PROCESS_GROUP) which lets gh-aw
initialize properly and exit.

Also ensures app.js is rebuilt when dashboard-cli.ts changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@pelikhan
pelikhan merged commit d42fca5 into main Jun 30, 2026
2 checks passed
@pelikhan
pelikhan deleted the pelikhan-extensions-dashboard-workflow-filter branch June 30, 2026 01:01
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This pull request is included in a new release.

Release: v0.82.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants