Update apps/ui/src/components/views/board-view/dialogs/discard-worktree-changes-dialog.tsx

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
This commit is contained in:
gsxdsm
2026-02-17 23:37:10 -08:00
committed by GitHub
parent 13261b7e8c
commit 829c16181b

View File

@@ -304,6 +304,8 @@ export function DiscardWorktreeChangesDialog({
setExpandedFile(null); setExpandedFile(null);
setError(null); setError(null);
let cancelled = false;
const loadDiffs = async () => { const loadDiffs = async () => {
try { try {
const api = getElectronAPI(); const api = getElectronAPI();
@@ -311,21 +313,25 @@ export function DiscardWorktreeChangesDialog({
const result = await api.git.getDiffs(worktree.path); const result = await api.git.getDiffs(worktree.path);
if (result.success) { if (result.success) {
const fileList = result.files ?? []; const fileList = result.files ?? [];
setFiles(fileList); if (!cancelled) setFiles(fileList);
setDiffContent(result.diff ?? ''); if (!cancelled) setDiffContent(result.diff ?? '');
// No files selected by default if (!cancelled) setSelectedFiles(new Set());
setSelectedFiles(new Set());
} }
} }
} catch (err) { } catch (err) {
if (cancelled) return;
console.warn('Failed to load diffs for discard dialog:', err); console.warn('Failed to load diffs for discard dialog:', err);
setError(err instanceof Error ? err.message : String(err)); setError(err instanceof Error ? err.message : String(err));
} finally { } finally {
setIsLoadingDiffs(false); if (!cancelled) setIsLoadingDiffs(false);
} }
}; };
loadDiffs(); loadDiffs();
return () => {
cancelled = true;
};
} }
}, [open, worktree]); }, [open, worktree]);