{"action":"created","issue":{"url":"https://api.github.com/repos/facebook/react-native/issues/1372","labels_url":"https://api.github.com/repos/facebook/react-native/issues/1372/labels{/name}","comments_url":"https://api.github.com/repos/facebook/react-native/issues/1372/comments","events_url":"https://api.github.com/repos/facebook/react-native/issues/1372/events","html_url":"https://github.com/facebook/react-native/pull/1372","id":79280307,"number":1372,"title":"[Touches] Let only the nearest ancestor root view process touches","user":{"login":"ide","id":379606,"avatar_url":"https://avatars.githubusercontent.com/u/379606?v=3","gravatar_id":"","url":"https://api.github.com/users/ide","html_url":"https://github.com/ide","followers_url":"https://api.github.com/users/ide/followers","following_url":"https://api.github.com/users/ide/following{/other_user}","gists_url":"https://api.github.com/users/ide/gists{/gist_id}","starred_url":"https://api.github.com/users/ide/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ide/subscriptions","organizations_url":"https://api.github.com/users/ide/orgs","repos_url":"https://api.github.com/users/ide/repos","events_url":"https://api.github.com/users/ide/events{/privacy}","received_events_url":"https://api.github.com/users/ide/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/facebook/react-native/labels/CLA%20Signed","name":"CLA Signed","color":"e7e7e7"},{"url":"https://api.github.com/repos/facebook/react-native/labels/GH%20Review:%20review-needed","name":"GH Review: review-needed","color":"fbca04"},{"url":"https://api.github.com/repos/facebook/react-native/labels/Needs%20Response%20from%20Author","name":"Needs Response from Author","color":"eb6420"}],"state":"open","locked":false,"assignee":{"login":"majak","id":713625,"avatar_url":"https://avatars.githubusercontent.com/u/713625?v=3","gravatar_id":"","url":"https://api.github.com/users/majak","html_url":"https://github.com/majak","followers_url":"https://api.github.com/users/majak/followers","following_url":"https://api.github.com/users/majak/following{/other_user}","gists_url":"https://api.github.com/users/majak/gists{/gist_id}","starred_url":"https://api.github.com/users/majak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/majak/subscriptions","organizations_url":"https://api.github.com/users/majak/orgs","repos_url":"https://api.github.com/users/majak/repos","events_url":"https://api.github.com/users/majak/events{/privacy}","received_events_url":"https://api.github.com/users/majak/received_events","type":"User","site_admin":false},"milestone":null,"comments":13,"created_at":"2015-05-22T04:31:59Z","updated_at":"2016-02-02T00:24:53Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/facebook/react-native/pulls/1372","html_url":"https://github.com/facebook/react-native/pull/1372","diff_url":"https://github.com/facebook/react-native/pull/1372.diff","patch_url":"https://github.com/facebook/react-native/pull/1372.patch"},"body":"This is to support nested root views with independent bridges by preventing touches in the inner root view from being handled by the outer one.\r\n\r\nPreviously, touches were handled by both touch handlers. This was problematic because the outer touch handler would dispatch a JS touch event to the outer bridge with a react tag from the inner root's descendant view. So if you touched view 7 in the inner root view, then view 7 in the outer root view would also receive a touch event. Instead, we want touches in the inner root view to stay in the inner root view.\r\n\r\nPerformance-wise, I profiled this diff and didn't see an impact. On the start of each touch (when the finger goes down, not when it is dragged), the view hierarchy is traversed upwards until the first root view which is on the order of 10 property lookups for a typical view hierarchy.\r\n\r\nTest Plan: Tapped around in an inner root view and saw that components in the outer root view like text fields, etc were no longer receiving mystery touches."},"comment":{"url":"https://api.github.com/repos/facebook/react-native/issues/comments/178271354","html_url":"https://github.com/facebook/react-native/pull/1372#issuecomment-178271354","issue_url":"https://api.github.com/repos/facebook/react-native/issues/1372","id":178271354,"user":{"login":"majak","id":713625,"avatar_url":"https://avatars.githubusercontent.com/u/713625?v=3","gravatar_id":"","url":"https://api.github.com/users/majak","html_url":"https://github.com/majak","followers_url":"https://api.github.com/users/majak/followers","following_url":"https://api.github.com/users/majak/following{/other_user}","gists_url":"https://api.github.com/users/majak/gists{/gist_id}","starred_url":"https://api.github.com/users/majak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/majak/subscriptions","organizations_url":"https://api.github.com/users/majak/orgs","repos_url":"https://api.github.com/users/majak/repos","events_url":"https://api.github.com/users/majak/events{/privacy}","received_events_url":"https://api.github.com/users/majak/received_events","type":"User","site_admin":false},"created_at":"2016-02-02T00:24:53Z","updated_at":"2016-02-02T00:24:53Z","body":"@ide This diff would be a part of the solution for your case?\r\nAlso I'm curious what the transformation would look like if you can say."}}