FIX count wall time instead of CPU time #9
Merged
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.
Intervall only accounts for CPU time
passed, not actual wall time passed
resulting in the timer going slower
than actual wall time.
CPU time vs Wall time
When a browser tab or window is off-screen
or in a tab that isn't focused, the scheduler
doesn't execute the JS engine every
tick/second. Instead, the process is scheduled
to run in less frequent intervals. This means
that one can't assume that the interval timer
will execute once every wall time second, but
rather once every "JS engine active" second.
Since the countdown should count wall time,
we need to calculate a timestamp based delta
for when the function last ran.