{"push_id":728298290,"size":101,"distinct_size":101,"ref":"refs/heads/master","head":"28b9a6f69e0861d79bbdd85ea02c41f203e70e45","before":"57513fd24a9078f856c93340229dd3771224a638","commits":[{"sha":"02db374e50861c30fd06c527b2b6c6a505d40feb","author":{"email":"b9f85daa6f83cf02ce5c31913d1f64d3f5c8fade@fb.com","name":"Alexsander Akers"},"message":"[React Native] Remove layout-only nodes (Take 2!)\n\nSummary:\nRemove layout-only views. Works by checking properties against a list of known properties that only affect layout. The `RCTShadowView` hierarchy still has a 1:1 correlation with the JS nodes.\n\nThis works by adjusting the tags and indices in `manageChildren`. For example, if JS told us to insert tag 1 at index 0 and tag 1 is layout-only with children whose tags are 2 and 3, we adjust it so we insert tags 2 and 3 at indices 0 and 1. This keeps changes out of `RCTView` and `RCTScrollView`. In order to simplify this logic, view moves are now processed as view removals followed by additions. A move from index 0 to 1 is recorded as a removal of view at indices 0 and 1 and an insertion of tags 1 and 2 at indices 0 and 1. Of course, the remaining indices have to be offset to take account for this.\n\nThe `collapsible` attribute is a bit of a hack to force `RCTScrollView` to always have one child. This was easier than rethinking out the logic there, but we could change this later.","distinct":true,"url":"https://api.github.com/repos/mrspeaker/react-native/commits/02db374e50861c30fd06c527b2b6c6a505d40feb"},{"sha":"b57a14d07ce85ffaa5a71708fabbbd68ace563e7","author":{"email":"66fbf70b170b9bf09e6096217cbc64f105cf0a99@gmail.com","name":"KJlmfe"},"message":"<Text> module add textDecoration style attributes\n\nSummary:\nThis is simply a rebased and squashed version of @KJlmfe's PR over at https://github.com/facebook/react-native/pull/845\n\nIt was actually already squashed into one commit, but for some reason that was hard to see from the original PR.\nCloses https://github.com/facebook/react-native/pull/1869\nGithub Author: KJlmfe <kjlmfe@gmail.com>","distinct":true,"url":"https://api.github.com/repos/mrspeaker/react-native/commits/b57a14d07ce85ffaa5a71708fabbbd68ace563e7"},{"sha":"66d3f3c6165bdffcfae58d539660bfad1f9ce23e","author":{"email":"482e0d3922b9fb7ed969fd3d35c17f5a57d81843@fb.com","name":"Martín Bigio"},"message":"[rn] Keep native ListView child frames in sync on JS wrapper\n\nSummary: At the moment the `ListView.js` `_childFrames` variable is only updated on scroll. As a consequence, `onChangeVisibleRows` won't get triggered for the initial render, nor any future render not trigered by scroll events. To fix this we need to make sure native and JS have the child frames in sync.","distinct":true,"url":"https://api.github.com/repos/mrspeaker/react-native/commits/66d3f3c6165bdffcfae58d539660bfad1f9ce23e"},{"sha":"3c541ca54095fbf9d572362bcb661593acc1b64b","author":{"email":"b9f85daa6f83cf02ce5c31913d1f64d3f5c8fade@fb.com","name":"Alex Akers"},"message":"[React Native] Update native error callback handling\n\nSummary:\nThis introduces a new `RCTResponseErrorBlock` block type that allows a bridge module writer to call it with an `NSError` instance rather than a dictionary.","distinct":true,"url":"https://api.github.com/repos/mrspeaker/react-native/commits/3c541ca54095fbf9d572362bcb661593acc1b64b"},{"sha":"c928d9495b3efafc7881a7826a7325745444b3fe","author":{"email":"b9f85daa6f83cf02ce5c31913d1f64d3f5c8fade@fb.com","name":"Alex Akers"},"message":"[React Native] Fix whitespace","distinct":true,"url":"https://api.github.com/repos/mrspeaker/react-native/commits/c928d9495b3efafc7881a7826a7325745444b3fe"},{"sha":"d56ff42596df994f95806fdc0ad79c323e85b1e7","author":{"email":"b85406b76c567462336c15208b946dccbd45695a@fb.com","name":"Spencer Ahrens"},"message":"[ReactNative] Animated infra - ValueXY, addListener, fixes, etc\n\nSummary:\nThis is most of the infra necessary for the gratuitous animation demo app.\n\nI originally had things more split up, but it was just confusing because everything is so interlinked and dependent, so lower diffs would have code that wasn't even going to survive (and thus not useful to review), so I merged it all here.\n\n- `Animated.event` now supports mapping to multiple arguments (needed for `onPanResponderMove` events which provide the `gestureState` as the second arg.\n- Vectors: new `Animated.ValueXY` class which composes two `Animated.Value`s for convenience/brevity\n- Listeners: values and events can be listened to in order to trigger state updates based on their values.  Intended to work as async updates from native that might lag behind truth.\n- Offsets: a common pattern with pan and other gestures is to track where you left off.  This is easily encoded in the Value directly with `setOffset(offset)`, typically used on grant, and can be flattened back into the base value and reset with `flattenOffset()`, typically called on release.\n- Tracking: supports `Animated.Value/ValueXY` for `toValue` with all animations, enabling linking multiple values together with some curve or physics.  `Animated.timing` can be used with `duration: 0` to rigidly link the values with no lag, or `Animated.spring` can be used to link them like chat heads.\n- `Animated.Image` as a default export.\n- Various cleanup, bug, flow and lint fixes.","distinct":true,"url":"https://api.github.com/repos/mrspeaker/react-native/commits/d56ff42596df994f95806fdc0ad79c323e85b1e7"},{"sha":"b7703105556ff21d0dddb44ef9907f233c0ce784","author":{"email":"b85406b76c567462336c15208b946dccbd45695a@fb.com","name":"Spencer Ahrens"},"message":"[ReactNative] Move Animated to Open Source\n\nSummary:\nMoves the files over and Exports Animated from 'react-native'.","distinct":true,"url":"https://api.github.com/repos/mrspeaker/react-native/commits/b7703105556ff21d0dddb44ef9907f233c0ce784"},{"sha":"566ca9e58dd1059db4fb4c224a8d988c99a254c6","author":{"email":"b85406b76c567462336c15208b946dccbd45695a@fb.com","name":"Spencer Ahrens"},"message":"[ReactNative] fix duplicate LayoutAnimation warning","distinct":true,"url":"https://api.github.com/repos/mrspeaker/react-native/commits/566ca9e58dd1059db4fb4c224a8d988c99a254c6"},{"sha":"5c01b1e1a0a784a844e773fe98d9d10aa400af88","author":{"email":"6911fb78f44de575a12499e404ecf5a0ab96279a@gmail.com","name":"Jean Regisser"},"message":"Fix incorrect lowercase response headers set for XHR responses\n\nSummary:\nTrivial change to fix the lowercase response headers set for XHR responses.\n\nWhat would happen is the first iterated header wouldn't be part of `_lowerCaseResponseHeaders`.\nAlso it would mutate the original `responseHeaders` object, mixing lowercase headers with the original values.\nCloses https://github.com/facebook/react-native/pull/1876\nGithub Author: Jean Regisser <jean.regisser@gmail.com>","distinct":true,"url":"https://api.github.com/repos/mrspeaker/react-native/commits/5c01b1e1a0a784a844e773fe98d9d10aa400af88"},{"sha":"1b7699f671e8229316365c59c72715c43fc6cc18","author":{"email":"35a1091f854fff1e63c654c7a51cad152cfd07b8@fb.com","name":"Nick Lockwood"},"message":"Migrate unit tests from FBReactKitModules to FBReactKit","distinct":true,"url":"https://api.github.com/repos/mrspeaker/react-native/commits/1b7699f671e8229316365c59c72715c43fc6cc18"},{"sha":"bb141e3a3c14d45e56fd897499b8aad1a1e7d814","author":{"email":"f4a55faf60bb10e7c0e015e64623097aa7a541a4@fb.com","name":"Hedger Wang"},"message":"Rename prop \"injectedJavascriptIOS\" to \"injectedJavaScript\n\nSummary:\nAndroid WebView now supports the prop \"injectedJavaScript\", too.\nIt's time to rename \"injectedJavascriptIOS\" to \"injectedJavaScript\" for API\nconsistency between IOS and Android.","distinct":true,"url":"https://api.github.com/repos/mrspeaker/react-native/commits/bb141e3a3c14d45e56fd897499b8aad1a1e7d814"},{"sha":"a251316a5f0f96b81a4741998136b7f09ebe11af","author":{"email":"e03af45c95eb87e11570d8d0a0c39ab7f4f86030@fb.com","name":"Tadeu Zagallo"},"message":"[ReactNative] Fix RCTJavaScriptContext deallocation\n\nSummary:\nThe context wasn't being explicitly released before, since it'd be immediately\nreleased. Now that the executors are bridge modules, it was only being deallocated\nwhen the modules were released, what caused the threads to not be released at all.","distinct":true,"url":"https://api.github.com/repos/mrspeaker/react-native/commits/a251316a5f0f96b81a4741998136b7f09ebe11af"},{"sha":"0ffb2d36ebfa6fded818847738e8eb0e184dcaf5","author":{"email":"e03af45c95eb87e11570d8d0a0c39ab7f4f86030@fb.com","name":"Tadeu Zagallo"},"message":"[ReactNative] Fix crash when reload during profile\n\nSummary:\nFixes #1642\n\nWhen reloading during profiling, the profile wouldn't unhook from the instance\nbeing deallocated.","distinct":true,"url":"https://api.github.com/repos/mrspeaker/react-native/commits/0ffb2d36ebfa6fded818847738e8eb0e184dcaf5"},{"sha":"f21e79d5e13dfa0fdd47dfe36b51a87bcc9dc74b","author":{"email":"8a41beb587cdd8720d3c0dfde600c0d2d2e67853@fb.com","name":"Natansh Verma"},"message":"Revert \"[ReactNative] Fix crash when reload during profile\"","distinct":true,"url":"https://api.github.com/repos/mrspeaker/react-native/commits/f21e79d5e13dfa0fdd47dfe36b51a87bcc9dc74b"},{"sha":"98521eb16e7bfd64d4c85c65626f87356a82f2f5","author":{"email":"8a41beb587cdd8720d3c0dfde600c0d2d2e67853@fb.com","name":"Natansh Verma"},"message":"Revert \"[ReactNative] Fix RCTJavaScriptContext deallocation\"","distinct":true,"url":"https://api.github.com/repos/mrspeaker/react-native/commits/98521eb16e7bfd64d4c85c65626f87356a82f2f5"},{"sha":"b3e0a702a77c7d6bfa50a6c6b5bd1287adae9b68","author":{"email":"f0261b037b9ae5dac9dd83d540eac374734e5f0d@jameside.com","name":"James Ide"},"message":"[ListView] Allow different types of ScrollView to be composed\n\nSummary:\nThis enables code like:\n```js\n<ListView renderScrollView={() => <CustomScrollView />} />\n```\n\nwhere CustomScrollView might be inverted or support pull-to-refresh, etc.\nCloses https://github.com/facebook/react-native/pull/785\nGithub Author: James Ide <ide@jameside.com>","distinct":true,"url":"https://api.github.com/repos/mrspeaker/react-native/commits/b3e0a702a77c7d6bfa50a6c6b5bd1287adae9b68"},{"sha":"0d0b4c947b7fa5e55d4f79b7f0892dd4525dbfa0","author":{"email":"b85406b76c567462336c15208b946dccbd45695a@fb.com","name":"Spencer Ahrens"},"message":"[RN: Animated] Fix delay anims\n\nSummary:\nThey weren't calling onEnd because of duration: 0 optimiziation.","distinct":true,"url":"https://api.github.com/repos/mrspeaker/react-native/commits/0d0b4c947b7fa5e55d4f79b7f0892dd4525dbfa0"},{"sha":"a886e4c66bd8296748b1ab888ab5c0003b5aed96","author":{"email":"35a1091f854fff1e63c654c7a51cad152cfd07b8@fb.com","name":"Nick Lockwood"},"message":"Migrated RCTText into FBReactKit","distinct":true,"url":"https://api.github.com/repos/mrspeaker/react-native/commits/a886e4c66bd8296748b1ab888ab5c0003b5aed96"},{"sha":"c66b1c64b549fdefa18a12348aeca19d05bbae95","author":{"email":"b85406b76c567462336c15208b946dccbd45695a@fb.com","name":"Spencer Ahrens"},"message":"[RN] quick fix to unblock OSS tests\n\nSummary:\nFor some reason jest on github isn't checking invariants.","distinct":true,"url":"https://api.github.com/repos/mrspeaker/react-native/commits/c66b1c64b549fdefa18a12348aeca19d05bbae95"},{"sha":"bfbc280fb441ad76680b6f6ac00d840d10e5d831","author":{"email":"b9f85daa6f83cf02ce5c31913d1f64d3f5c8fade@fb.com","name":"Alex Akers"},"message":"[React Native] Fix scroll view sticky headers\n\nSummary:\nThe `ScrollView` component tells the native side the subview indices of the views to make sticky. The problem is that, once layout-only views are collapsed, the indices are no longer reflective of the original views to make stick to the top.","distinct":true,"url":"https://api.github.com/repos/mrspeaker/react-native/commits/bfbc280fb441ad76680b6f6ac00d840d10e5d831"}]}