Why: U5 closes the interactive loop - the surface view's action click
carries the user's typed drafts (and nothing else - unsubmitted input
has no upload path), the store builds the idempotent request
(client-generated requestId, current revision), guards double-clicks
in flight, and maps server outcomes to toasts (awaiting-confirm card,
revision conflict refresh, disabled rejection).
Evidence: tsc clean; vitest 95/95 including the request-shape test
(explicit data only, unique requestId per submission); knip unchanged.
Impact: Frontend-only; backend endpoint from the U5 backend branch.
Refs: U5 action-scope r2 (approved); UI PRs #46/#47; Dev task
feature/generative-ui-u5
weichen
merged commit 2c56054861 into main2026-10-11 14:24:05 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Why: Close the U5 interactive loop - action clicks carry user drafts only at submit time, idempotent request build, in-flight guard, outcome toasts.
Evidence: tsc clean; vitest 95/95 incl. request-shape test; knip unchanged.
Impact: Frontend-only.
Refs: U5 action-scope r2; UI #46/#47; Dev task feature/generative-ui-u5