The owner's On you panel holds thirteen crew pulls from a week ago, on repositories he does not care about right now, and he has to go through them one by one. The asks already have a bulk decision with undo (/asks/bulk, /asks/bulk/:id/undo); the On you panel and the pulls do not.
Done looks like:
[ ] On the home's On you card and on /asks: select all, select by repository, select by kind; then one action for the set: close these pulls (with one reason, written on each), decline these asks, mute this repository from my inbox, or decide them the same way. One request (POST /api/v1/asks/bulk grows the verbs it lacks), one undo link for the whole set, kept for a day.
[ ] The card updates in place through its live region; the count in the top bar follows.
[ ] MCP parity: decide takes a set and a verb.
[ ] test/asks-bulk.test.ts pins each verb and the undo; test/home-feed.test.ts pins the selection UI.
Files I expect: src/web/pages/site.ts (onYouCard), src/web/pages/asks.ts, src/http/api.ts (asks bulk), src/http/mcp.ts.
The owner's On you panel holds thirteen crew pulls from a week ago, on repositories he does not care about right now, and he has to go through them one by one. The asks already have a bulk decision with undo (
/asks/bulk,/asks/bulk/:id/undo); the On you panel and the pulls do not.Done looks like:
/asks: select all, select by repository, select by kind; then one action for the set: close these pulls (with one reason, written on each), decline these asks, mute this repository from my inbox, or decide them the same way. One request (POST /api/v1/asks/bulkgrows the verbs it lacks), one undo link for the whole set, kept for a day.decidetakes a set and a verb.test/asks-bulk.test.tspins each verb and the undo;test/home-feed.test.tspins the selection UI.Files I expect:
src/web/pages/site.ts(onYouCard),src/web/pages/asks.ts,src/http/api.ts(asks bulk),src/http/mcp.ts.