fix(ui): offload UnifiedDiffParser.Parse off the UI thread in DiffViewerViewModel

Both call sites (LoadFilesAsync, OnDisplayedDiffChanged) ran the parser
synchronously on the dispatcher, freezing the window on a large diff. The
Files-mode parse+tree-build now runs via Task.Run behind a ParseOp
OperationStatus wired to the toolbar; the planning-mode parse is
fire-and-forget with a generation counter so a fast second DisplayedDiff
change can't write stale PlanningFiles.
This commit is contained in:
Mika Kuns
2026-08-12 13:19:20 +02:00
parent b9827eac01
commit 9fc8ed391e
5 changed files with 69 additions and 3 deletions
@@ -698,6 +698,9 @@
"merging": "Wird zusammengeführt…",
"verifying": "Verify-Kommando der Liste läuft… ({0})"
},
"diff": {
"parsing": "Diff wird geparst…"
},
"review": {
"submitting": "Wird zur Prüfung eingereicht…",
"rejecting": "Wird abgelehnt…",