Rocket.Chat.ReactNative/patches/react-native+0.63.4.patch

56 lines
2.2 KiB
Diff

diff --git a/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js b/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js
index c344ac4..479c8c0 100644
--- a/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js
+++ b/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js
@@ -1244,9 +1244,17 @@ class ScrollView extends React.Component<Props, State> {
// Note: we should split props.style on the inner and outer props
// however, the ScrollView still needs the baseStyle to be scrollable
const {outer, inner} = splitLayoutProps(flattenStyle(props.style));
+
+ // Workaround for RefreshControl inverted: https://github.com/facebook/react-native/issues/30034
+ let inverted;
+ if (inner.scaleY) {
+ inverted = { scaleY: -1 };
+ delete inner.scaleY;
+ }
+
return React.cloneElement(
refreshControl,
- {style: [baseStyle, outer]},
+ {style: [baseStyle, outer, inverted]},
<ScrollViewClass
{...props}
style={[baseStyle, inner]}
diff --git a/node_modules/react-native/Libraries/Lists/VirtualizedList.js b/node_modules/react-native/Libraries/Lists/VirtualizedList.js
index 9ec105f..6bb6989 100644
--- a/node_modules/react-native/Libraries/Lists/VirtualizedList.js
+++ b/node_modules/react-native/Libraries/Lists/VirtualizedList.js
@@ -11,6 +11,7 @@
'use strict';
const Batchinator = require('../Interaction/Batchinator');
+const Platform = require('../Utilities/Platform');
const FillRateHelper = require('./FillRateHelper');
const PropTypes = require('prop-types');
const React = require('react');
@@ -2185,9 +2186,16 @@ function describeNestedLists(childList: {
}
const styles = StyleSheet.create({
- verticallyInverted: {
- transform: [{scaleY: -1}],
- },
+ // Workaround found on https://github.com/facebook/react-native/issues/30034#issuecomment-806396274
+ // Note: Check ScrollView for a workaround on RefreshControl
+ verticallyInverted:
+ Platform.OS === 'android'
+ ? {
+ scaleY: -1,
+ }
+ : {
+ transform: [{scaleY: -1}]
+ },
horizontallyInverted: {
transform: [{scaleX: -1}],
},