diff --git a/lib/services/player_service.dart b/lib/services/player_service.dart index 069e8fa..8068759 100644 --- a/lib/services/player_service.dart +++ b/lib/services/player_service.dart @@ -1173,7 +1173,8 @@ class PlayerService { final selectedPosition = _atEnd ? _endSeekPosition : null; await _openCurrent( request, - resumePosition: selectedPosition, + // Completed chapters restart instead of restoring their end marker. + resumePosition: _atEnd ? selectedPosition ?? 0 : null, manualReplay: selectedPosition != null, ); return;