Skip to content

fix: resolve android touch event bleed between sandbox and host surfaces#33

Merged
CAMOBAP merged 2 commits into
callstackincubator:mainfrom
ryan-karn:and-tb-issue
May 17, 2026
Merged

fix: resolve android touch event bleed between sandbox and host surfaces#33
CAMOBAP merged 2 commits into
callstackincubator:mainfrom
ryan-karn:and-tb-issue

Conversation

@ryan-karn
Copy link
Copy Markdown
Contributor

Touch events from a sandbox Fabric surface were leaking into the host surface on Android. Both surfaces share the same global React view tag namespace, so when a sandbox view and host view are assigned the same tag, touch events targeting that tag in the sandbox are also resolved by the host's Fabric renderer.

Fix: intercept touch events at the Window level before they reach the host's ReactSurfaceView. If a touch lands inside a sandbox's bounds, route it directly to the sandbox's child surface view, bypassing the host dispatch entirely.

Includes a touch-test-demo app to reproduce and verify the fix.

Ref: #27

Videos:

and_touch_with_bug_small.mp4
and_touch_with_fix_small.mp4

Ryan Karn added 2 commits May 13, 2026 11:48
Touch events from a sandbox Fabric surface were leaking into the host
surface on Android. Both surfaces share the same global React view tag
namespace, so when a sandbox view and host view are assigned the same
tag, touch events targeting that tag in the sandbox are also resolved by
the host's Fabric renderer.

Fix: intercept touch events at the Window level before they reach the
host's ReactSurfaceView. If a touch lands inside a sandbox's bounds,
route it directly to the sandbox's child surface view, bypassing the
host dispatch entirely.

Includes a touch-test-demo app to reproduce and verify the fix.

Ref: callstackincubator#27
@CAMOBAP CAMOBAP self-requested a review May 17, 2026 18:52
Copy link
Copy Markdown
Collaborator

@CAMOBAP CAMOBAP left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@CAMOBAP CAMOBAP merged commit a577d75 into callstackincubator:main May 17, 2026
4 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants