f7d8d5d603
* fix(web): require confirmation before archiving from PR merged/closed banners The Archive link in the PR merged/closed status-bar banners archived the task immediately, unlike every other archive surface. Route it through the shared TaskArchiveConfirmDialog (cleanup summary + subtask cascade), and move the banners into pr-archive-banners.tsx since chat-input-area.tsx was over the file-size lint limit. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * test(web): cover cascade passthrough in banner archive confirmation Review follow-up: the subtask cascade checkbox is an acceptance criterion for the banner archive flow, but tests only asserted cascade: false. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * test(e2e): verify cancel path of PR banner archive confirmation QA follow-up: exercise the dialog cancel path in a real browser — cancel must close the dialog, keep the banner, and archive nothing. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * fix(web): expose pending state on banner archive confirmation Thread isPending from useBannerArchiveConfirm into TaskArchiveConfirmDialog as isArchiving, matching the other archive surfaces. Guards double-submit when the dialog is reopened while an archive is still in flight on a slow connection. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * test(e2e): scope archive-cancel click to the alertdialog Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Kandev Agent <agent@kandev.dev> Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>