fix(ui): discard stale mergeability probe after task or target switch
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -1147,7 +1147,11 @@ public sealed partial class DetailsIslandViewModel : ViewModelBase
|
|||||||
MergePreviewText = label; MergeIsClean = false; MergeIsConflict = false;
|
MergePreviewText = label; MergeIsClean = false; MergeIsConflict = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var dto = await _worker.PreviewMergeAsync(Task.Id, SelectedMergeTarget ?? "");
|
var capturedTaskId = Task.Id;
|
||||||
|
var capturedTarget = SelectedMergeTarget;
|
||||||
|
var dto = await _worker.PreviewMergeAsync(capturedTaskId, capturedTarget ?? "");
|
||||||
|
// Discard a probe that resolved after the user switched task or target.
|
||||||
|
if (Task?.Id != capturedTaskId || SelectedMergeTarget != capturedTarget) return;
|
||||||
var (text, clean, conflict) = MergePreviewPresenter.Describe(dto);
|
var (text, clean, conflict) = MergePreviewPresenter.Describe(dto);
|
||||||
MergePreviewText = text; MergeIsClean = clean; MergeIsConflict = conflict;
|
MergePreviewText = text; MergeIsClean = clean; MergeIsConflict = conflict;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user