Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(web): gesture-engine integration - automated test patchup 🐵 #9719

Merged
merged 10 commits into from
Oct 20, 2023

Conversation

jahorton
Copy link
Contributor

@jahorton jahorton commented Oct 9, 2023

Restores all KMW integration tests to working order for the feature-gestures feature branch. It was temporarily broken during early integration of the new gesture-engine into the existing OSK.

Also includes #9718's changes.

Also adds some robustness to the gesture-engine, should an ongoing gesture be interrupted. Be it by debugger or some other system modal interaction, the engine will examine the list of "current touches" for the next touch received and cancel all GestureSources that no longer have existing entries in the event's TouchLists, allowing the engine to reset and recover.

Finally, this PR helps resolve a few cases within the gesture engine that wasn't fully clearing out no-longer-useful entries in certain state-tracking arrays. Memory leaks, or similar, = bad.

I thought about keeping this included with #9690, but the two change sets are pretty orthogonal - so it'd be best to review separately. I also tried to rebase this onto #9657... but there were some other changes necessary from #9690, and I'm not sure what those are. I don't think it worth the trouble of chasing something ambiguous like that down just to do a one-PR-earlier rebase.

@keymanapp-test-bot skip

@jahorton jahorton added this to the A17S23 milestone Oct 9, 2023
@keymanapp-test-bot
Copy link

keymanapp-test-bot bot commented Oct 9, 2023

User Test Results

Test specification and instructions

User tests are not required

Test Artifacts

@jahorton
Copy link
Contributor Author

jahorton commented Oct 12, 2023

check/web/file-size — ❌ Oh dear! keymanweb.js is 70,995 bytes (17%) larger than 17.0.188...

Oof. Part of that, at least, is the fact that there are three sets of contact-point (mouse, touch) input-interpreting engines bundled into KMW at this stage - one for the 16.0 OSK, one for the 16.0 banner, and then the new gesture engine. Assuming I have sufficient time during the release cycle, we'll be able to drop the first two in favor of just the new engine, which should bring the filesize growth down a fair bit. Either way, it's going to take a few PRs, at least, to resolve.

Base automatically changed from feat/web/key-specific-gesture-integration to feature-gestures October 20, 2023 09:17
@jahorton jahorton merged commit 3ef85f3 into feature-gestures Oct 20, 2023
17 of 19 checks passed
@jahorton jahorton deleted the fix/web/integration-test-fixes branch October 20, 2023 09:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants