From db44232df241ebbe8ae937335f599eab36bdf62e Mon Sep 17 00:00:00 2001 From: Tasks Agent Date: Tue, 31 Mar 2026 18:30:33 +0000 Subject: [PATCH] Add Request Changes button to merge queue UI Wire up the existing requestChanges() API function in the merge queue UI. Adds a "Request Changes" button between Approve and Reject for pending entries. Clicking opens a dialog to enter feedback, which is sent back to the agent session via the /request-changes endpoint. Closes #520 Co-Authored-By: Claude Opus 4.6 --- web/src/pages/merge-queue/columns.tsx | 20 +++++++- web/src/pages/merge-queue/page.tsx | 74 ++++++++++++++++++++++++++- 2 files changed, 90 insertions(+), 4 deletions(-) diff --git a/web/src/pages/merge-queue/columns.tsx b/web/src/pages/merge-queue/columns.tsx index 618d4491..5d8c2146 100644 --- a/web/src/pages/merge-queue/columns.tsx +++ b/web/src/pages/merge-queue/columns.tsx @@ -1,10 +1,10 @@ import { type ColumnDef } from "@tanstack/react-table"; import { Link } from "react-router-dom"; -import { ExternalLink, Check, X } from "lucide-react"; +import { ExternalLink, Check, X, MessageSquare } from "lucide-react"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { formatRelativeTime, projectLabel } from "@/lib/utils"; -import { approveMerge, rejectMerge } from "@/lib/api"; +import { approveMerge, rejectMerge, requestChanges } from "@/lib/api"; import type { MergeQueueEntry, MergeStatus, Project, Task } from "@/lib/types"; // --------------------------------------------------------------------------- @@ -280,6 +280,13 @@ export const columns: ColumnDef[] = [ refresh?.(); } + async function handleRequestChanges() { + const feedback = window.prompt("Describe the changes needed:"); + if (!feedback?.trim()) return; + await requestChanges(entry.id, feedback.trim(), feedback.trim()); + refresh?.(); + } + return (
+ + + + + + + + Request Changes + + Describe the changes needed. This feedback will be sent back to the agent. + + +