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.
Description
https://discord.com/channels/955905230107738152/1337534586707644416
There are other bugs I see on Windows on my machine -
requestPointerLock
seems too buggy.pointerup
to not be intercepted (because of the fix above).Here’s how I see the issue:
requestPointerLock
is asynchronous.requestPointerLock
, we might get alostpointercapture
event.requestPointerLock
itself, depending on the machine).pointerup
event will most likely be lost.pointerup
event is usually preserved but can be lost as well.Currently, on Windows, instead of cleanup, we assume everything will be fine.
On Mac, we perform cleanup on the
lostpointercapture
event.Windows' behavior is buggy, but I haven’t found a proper way to fix it.
There's no way to detect
event.buttons
on move, and this happens independently of thepointerleave
event.Using body as lock target etc doesn't work too.
My suggestion - if this causes new bugs - is to remove
requestPointerLock
entirely on Windows.Steps for reproduction
Code Review
Before requesting a review
Before merging
.env
file