You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Clarify intake-blocked submissions in the plugin review board - #5096
My contribution adds a new instruction, prompt, agent, skill, workflow, or canvas extension file in the correct directory.
The file follows the required naming convention.
The content is clearly structured and follows the example format.
I have tested my instructions, prompt, agent, skill, workflow, or canvas extension with GitHub Copilot.
I have run npm start and verified that README.md is up to date.
I am targeting the main branch for this pull request.
Description
Submissions requiring submitter fixes appeared as ordinary Unreviewed cards, even when none could be queued. This made the board look stuck and encouraged requests to force reviews that intake correctly blocked.
Keep these submissions visible in their existing buckets, but show a Blocked by intake badge and a specific reason. The toolbar reports actual queueable and blocked counts, including when search hides cards. The drawer explains the block on every tab, and unavailable approval/re-review controls explain why they cannot be used.
The same eligibility and reasons are exposed through get_board, while empty start_review results distinguish intake blockers from a completed review queue. Moving a blocked card back to Unreviewed no longer promises an immediate review. Existing rejection, manual bucket moves, saved reviews, queued state, and first-party gating are preserved; this does not bypass or change intake policy.
Type of Contribution
New instruction file.
New prompt file.
New agent file.
New plugin.
New skill file.
New agentic workflow.
New canvas extension.
Update to existing instruction, prompt, agent, plugin, skill, workflow, or canvas extension.
npm start - passed after restoring missing dependencies with npm ci --no-audit --no-fund; generated files remain unchanged. Existing external-plugin metadata warnings were reported.
bash eng/fix-line-endings.sh - passed.
git diff --check - passed before committing.
Browser validation using local file fixtures - passed for nine blocked cards, disabled controls, persistent reasons across drawer tabs, and a live transition to one reviewable card; no page errors or GitHub mutations.
The new-resource and paid-service checklist items are not applicable. Testing used browser fixtures and mocked canvas actions, not a reload of the running Copilot extension, so the live Copilot checkbox remains unchecked. No extension reloads or GitHub issue mutations were performed.
By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.
Risk tier:merge-risk:high — Privileged execution, automation, or review-policy change Required to merge: passing submission-gate checks plus 1 approval from reviewers with write access, including a maintainer with admin or maintain permission.
Why this tier
.github/extensions/external-plugin-review-board/README.md is a high-risk path (automation, scripts, MCP config, hooks, or review policy)
.github/extensions/external-plugin-review-board/extension.mjs is a high-risk path (automation, scripts, MCP config, hooks, or review policy)
.github/extensions/external-plugin-review-board/lib/state.mjs is a high-risk path (automation, scripts, MCP config, hooks, or review policy)
.github/extensions/external-plugin-review-board/public/app.js is a high-risk path (automation, scripts, MCP config, hooks, or review policy)
.github/extensions/external-plugin-review-board/public/index.html is a high-risk path (automation, scripts, MCP config, hooks, or review policy)
.github/extensions/external-plugin-review-board/public/styles.css is a high-risk path (automation, scripts, MCP config, hooks, or review policy)
eng/board-column-order.test.mjs is a high-risk path (automation, scripts, MCP config, hooks, or review policy)
eng/board-state-storage.test.mjs is a high-risk path (automation, scripts, MCP config, hooks, or review policy)
eng/external-plugin-review-board-state.test.mjs is a high-risk path (automation, scripts, MCP config, hooks, or review policy)
eng/external-plugin-review-board-ui.test.mjs is a high-risk path (automation, scripts, MCP config, hooks, or review policy)
When the count is zero, Approve all and Re-review all mention incomplete intake even for an empty column or one containing only queued cards or pending decisions. This gives misleading guidance when intake is not the blocker. Mention intake only when the column contains otherwise actionable, intake-blocked cards; columnItems(column.id, "reject") includes those cards while excluding queued items and pending decisions.
Use --fg to meet contrast requirements for the badge text
In the fallback palette, this 11px badge uses #bc4c00 text on a background mixed from 14% orange and 86% white. Its contrast is 4.13:1, below the 4.5:1 minimum for normal-sized text. Use --fg for the text; it provides 12.97:1 contrast while preserving the orange background.
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
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.
Pull Request Checklist
npm startand verified thatREADME.mdis up to date.mainbranch for this pull request.Description
Submissions requiring submitter fixes appeared as ordinary Unreviewed cards, even when none could be queued. This made the board look stuck and encouraged requests to force reviews that intake correctly blocked.
Keep these submissions visible in their existing buckets, but show a Blocked by intake badge and a specific reason. The toolbar reports actual queueable and blocked counts, including when search hides cards. The drawer explains the block on every tab, and unavailable approval/re-review controls explain why they cannot be used.
The same eligibility and reasons are exposed through
get_board, while emptystart_reviewresults distinguish intake blockers from a completed review queue. Moving a blocked card back to Unreviewed no longer promises an immediate review. Existing rejection, manual bucket moves, saved reviews, queued state, and first-party gating are preserved; this does not bypass or change intake policy.Type of Contribution
Additional Notes
Validation:
node --experimental-vm-modules --test eng\external-plugin-review-board.test.mjs eng\external-plugin-review-board-state.test.mjs eng\external-plugin-review-board-ui.test.mjs eng\board-state-storage.test.mjs eng\board-bulk-actions.test.mjs eng\board-column-order.test.mjs eng\board-preview.test.mjs .github\extensions\external-plugin-review-board\lib\github.test.mjs- passed, 79 tests. Covers nine blocked cards, label-specific reasons, conflicting labels, blocked-to-ready transitions, agent responses, and existing board behavior.node --check .github\extensions\external-plugin-review-board\extension.mjs- passed.node --check .github\extensions\external-plugin-review-board\public\app.js- passed.npm start- passed after restoring missing dependencies withnpm ci --no-audit --no-fund; generated files remain unchanged. Existing external-plugin metadata warnings were reported.bash eng/fix-line-endings.sh- passed.git diff --check- passed before committing.The new-resource and paid-service checklist items are not applicable. Testing used browser fixtures and mocked canvas actions, not a reload of the running Copilot extension, so the live Copilot checkbox remains unchecked. No extension reloads or GitHub issue mutations were performed.
By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.