From dbf02a94266244dd3a07a531a5e392e809591ebb Mon Sep 17 00:00:00 2001 From: daniel-c-harvey Date: Thu, 4 Jun 2026 19:53:22 -0400 Subject: [PATCH] fix(seek): guard HandlePointerLeave with _isSeeking to prevent spurious seek-to-zero on mouse-out --- .../Controls/AudioPlayerBar/PlayerSeekZone.razor.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/DeepDrftPublic.Client/Controls/AudioPlayerBar/PlayerSeekZone.razor.cs b/DeepDrftPublic.Client/Controls/AudioPlayerBar/PlayerSeekZone.razor.cs index 89c7958..d0e08ee 100644 --- a/DeepDrftPublic.Client/Controls/AudioPlayerBar/PlayerSeekZone.razor.cs +++ b/DeepDrftPublic.Client/Controls/AudioPlayerBar/PlayerSeekZone.razor.cs @@ -10,6 +10,7 @@ namespace DeepDrftPublic.Client.Controls.AudioPlayerBar; public partial class PlayerSeekZone : ComponentBase { private double _seekPosition; + private bool _isSeeking = false; [Parameter] public double DisplayTime { get; set; } [Parameter] public double? Duration { get; set; } @@ -21,18 +22,24 @@ public partial class PlayerSeekZone : ComponentBase private async Task HandlePointerDown() { + _isSeeking = true; _seekPosition = DisplayTime; await OnSeekStart.InvokeAsync(); } private async Task HandlePointerUp() { + _isSeeking = false; await OnSeekEnd.InvokeAsync(_seekPosition); } private async Task HandlePointerLeave() { - await OnSeekEnd.InvokeAsync(_seekPosition); + if (_isSeeking) + { + _isSeeking = false; + await OnSeekEnd.InvokeAsync(_seekPosition); + } } private async Task HandleValueChanged(double value)