diff --git a/apps/desktop/src/components/send-diagnostics-dialog.tsx b/apps/desktop/src/components/send-diagnostics-dialog.tsx index 909ba8e973..a693602f13 100644 --- a/apps/desktop/src/components/send-diagnostics-dialog.tsx +++ b/apps/desktop/src/components/send-diagnostics-dialog.tsx @@ -47,7 +47,11 @@ export function SendDiagnosticsHost() { const busy = state.phase === 'uploading' return ( - (!open && !busy ? dismissSendDiagnostics() : undefined)} open> + // Dismissal is allowed in EVERY phase, including mid-upload: the store's + // generation guard makes a dismissed upload's completion a no-op, so Esc/ + // backdrop/Cancel are always an immediate way out (cancellation of the + // in-flight request itself stays best-effort). + (!open ? dismissSendDiagnostics() : undefined)} open> {state.phase === 'consent' || state.phase === 'uploading' ? ( <> @@ -61,7 +65,7 @@ export function SendDiagnosticsHost() { -