feat(webapp): batch-approve pending proposals from the review queue#554
Conversation
the pending queue could approve only one proposal at a time; clearing a review backlog meant opening and approving each in turn. selection checkboxes already existed but drove only page merges. show a selection checkbox on every approvable row, add a "select all" toggle and an "approve N selected" action that approves the checked rows in one pass — client-side fan-out per project, the same shape as the existing clear (reject-all) path, since there is no bulk-approve endpoint. merge stays pages-only off the same selection set.
|
this PR changes UI (web/, src/vouch/web/, or webapp/) but has no before/after screenshots in the description. UI changes are reviewed by screenshot, not by running the app. add before and after screenshots, then reopen. |
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
Walkthrough
ChangesPending proposal approval
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant Reviewer
participant PendingView
participant RPC
participant Notifications
Reviewer->>PendingView: Select all approvable proposals
Reviewer->>PendingView: Approve selected proposals
PendingView->>RPC: Call kb.approve for each target
RPC-->>PendingView: Return approval results
PendingView->>Notifications: Show result counts
PendingView->>PendingView: Clear selection and refresh state
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
this PR changes UI (web/, src/vouch/web/, or webapp/) but has no before/after screenshots in the description. UI changes are reviewed by screenshot, not by running the app. add before and after screenshots, then reopen. |
|
this PR changes UI (web/, src/vouch/web/, or webapp/) but has no before/after screenshots in the description. UI changes are reviewed by screenshot, not by running the app. add before and after screenshots, then reopen. |
the pending review queue could approve only one proposal at a time — clearing a backlog meant opening and approving each in turn. the selection checkboxes already in the ui drove only page merges.
this wires those checkboxes up for approval: a selection checkbox now shows on every approvable row, with a "select all" toggle and an "approve N selected" action that approves the checked rows in one pass. the fan-out is client-side per project — the same shape as the existing "clear queue" (reject-all) path — since there is no bulk-approve endpoint. merge stays pages-only off the same selection set.
so clearing the queue is now "select all → approve N selected" instead of N round-trips through the detail pane.
tests: a new case asserts select-all → approve fires kb.approve once per row, routed to the owning project; the two merge tests are updated for the now-general selection checkbox. full webapp suite green (149 tests), tsc typecheck clean.
Summary by CodeRabbit
New Features
Bug Fixes