Conversation
The problem is that when we already hit or exceed the end time of pomodoro timer and we are resuming from the paused state, the timer will immediately finish, even though there's still time left when we pause the timer. The cause of the problem is because when we already hit or exceed the end time, we only updating the `PausePoint` to `nil` and not updating the `EndTime`. When we resume the timer, we should update the `EndTime` with the current time extended by the remaining duration from `PausePoint`. Let's say we paused at 5:30 A.M and the `EndTime` is 5:40 A.M, which means we have 10 minutes left. When we hit 5:45 A.M and resume the timer, we should update the `EndTime` to 5:55 A.M (extending 5:45 by 10 minutes). With that in mind, move the conditional check for expired `EndTime` after the check for `PausePoint` so that we don't messed up with the resume condition and still able to _not_ enter pause state when the `EndTime` already expired.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The problem is that when we already hit or exceed the end time of pomodoro timer and we are resuming from the paused state, the timer will immediately finish, even though there's still time left when we pause the timer.
The cause of the problem is because when we already hit or exceed the end time, we only updating the
PausePointtoniland not updating theEndTime. When we resume the timer, we should update theEndTimewith the current time extended by the remaining duration fromPausePoint.Let's say we paused at 5:30 A.M and the
EndTimeis 5:40 A.M, which means we have 10 minutes left. When we hit 5:45 A.M and resume the timer, we should update theEndTimeto 5:55 A.M (extending 5:45 by 10 minutes).With that in mind, move the conditional check for expired
EndTimeafter the check forPausePointso that we don't messed up with the resume condition and still able to not enter pause state when theEndTimealready expired.