feat(prs): show workflows awaiting approval in Checks tab and add V keybinding to approve them#767
Merged
dlvhdr merged 5 commits intodlvhdr:mainfrom Feb 18, 2026
Conversation
f9734bd to
2f3013d
Compare
dlvhdr
reviewed
Feb 13, 2026
Query checkSuites in addition to statusCheckRollup to display workflows with “conclusion: ACTION_REQUIRED”. Those are workflows that need manual approval before they run (e.g., first-time contributor PRs). The Checks tab now shows: - “Workflows awaiting approval” status, with count, in the overview box - A segment in the checks progress bar (warning color) - A “Workflows Awaiting Approval” section listing each workflow by name
Add a new “approve all workflows” action (V key) that approves all workflow runs having “conclusion: ACTION_REQUIRED” for the selected PR. The task runs three sequential gh CLI steps in the background: 1. Get the PR’s head SHA 2. Query for workflow runs with status=action_required for that SHA 3. POST to the /approve endpoint for each run (best-effort) Limitation: The GitHub API doesn’t support approving non-fork-PR workflows (e.g., pull_request_review-triggered runs). In cases where you try to approve such workflows from dash, you’ll get an error message explaining that limitation. (You’d otherwise get an arcane message.) Wired up in the PR section view, notification PR view, and the notification action executor, following the existing confirmation-based action pattern (close, merge, update, etc.).
Add a comment explaining that workflows awaiting approval (ACTION_REQUIRED) and queued workflows have no CheckRun objects yet, so they don't appear in StatusCheckRollup.contexts. Also remove the unused App.Slug field from CheckSuiteNode.
All confirmation prompts display "(Y/n)" — the capital Y convention means pressing Enter with no input should be treated as "yes." But the code only accepted explicit "Y" or "y", making bare Enter a no-op. Add empty-string check to the confirmation input in all four section handlers: prssection, issuessection, notificationssection, reposection.
2fd71d8 to
6aad8d7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Vkeybinding to approve all workflows awaiting approval for the selected PR, with confirmation prompt and clear error messaging for non-approvable workflowsTest plan
Von a PR with workflows awaiting approval, confirm withy, verify workflows get approvedVon a PR where workflows aren't approvable (non-fork), verify clear error messageVkeybinding appears in help (?) under PR actions as "approve all workflows"go test ./...— all tests pass