Fix: #2141: Skip Back issue when skipping from watch #2197
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.
Fixes #2141
In #2041 we added logic to ignore skips which would skip ahead. However, the Watch
skipBack
function is called on a background thread and the timer never appears to fire, causingpreviousSeekTime
to never be reset tonil
, breaking all future skip backs.Considerations
I also considered adding the Debouncer to the Main RunLoop instead of scheduling on its current RunLoop. This would apply to other caller of
skipBack
but I checked all of these and I believe all will come from the main thread. I'm concerned this could cause race conditions if the callback relies on the original behavior.To test
Checklist
CHANGELOG.md
if necessary.