fix(canvas): address review board feedback

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: dc011747-d114-43af-93e9-7f0036f9b4b7
This commit is contained in:
Aaron Powell
2026-10-13 11:37:12 +11:00
co-authored by Copilot App
parent 8431cac934
commit c0fb55cd28
5 changed files with 103 additions and 3 deletions
@@ -70,7 +70,7 @@ async function getIssue(number, { force = false } = {}) {
async function startReview({ numbers, instanceId, send }) {
const items = store.pendingReview(numbers);
if (!items.length) return { queued: [], message: "Nothing to review — all items already have an AI review." };
if (!items.length) return { queued: [], message: "Nothing to review — no eligible unreviewed items remain." };
const queued = items.map((item) => item.number);
const snapshots = await store.markQueued(queued);
const prompt = buildReviewPrompt({
@@ -136,7 +136,8 @@ export class BoardStore {
}
pendingReview(numbers) {
const all = Object.values(this.state.items).filter((item) => !item.decision && item.reviewStatus !== "queued");
const all = Object.values(this.state.items).filter((item) =>
!item.decision && !item.pendingDecision && item.reviewStatus !== "queued");
if (numbers?.length) {
const wanted = new Set(numbers.map(Number));
return all.filter((item) => wanted.has(item.number));
@@ -561,6 +561,11 @@ function resetConfirm() {
ui.approve.disabled = false;
ui.reject.disabled = false;
updatePreview();
const item = findItem(selected);
if (bulkBusy || item?.pendingDecision) {
ui.approve.disabled = true;
ui.reject.disabled = true;
}
}
async function decide(kind) {