diff --git a/patches/react-native+0.70.15.patch b/patches/react-native+0.79.2.patch rename from patches/react-native+0.70.15.patch rename to patches/react-native+0.79.2.patch --- a/patches/react-native+0.70.15.patch +++ b/patches/react-native+0.79.2.patch @@ -1,92 +1,53 @@ diff --git a/node_modules/react-native/Libraries/Components/TextInput/TextInput.js b/node_modules/react-native/Libraries/Components/TextInput/TextInput.js -index 8fa1171..316b482 100644 +index a2f2081..d2b07f0 100644 --- a/node_modules/react-native/Libraries/Components/TextInput/TextInput.js +++ b/node_modules/react-native/Libraries/Components/TextInput/TextInput.js -@@ -208,6 +208,13 @@ export type TextContentType = +@@ -261,6 +261,12 @@ export type EnterKeyHintTypeOptions = type PasswordRules = string; - type IOSProps = $ReadOnly<{| + export type TextInputIOSProps = $ReadOnly<{ + /** + * If set, allows pasting of images for given threadID. + * The default value is NULL. + * @platform ios + */ + allowImagePasteForThreadID?: ?string, -+ - /** - * When the clear button should appear on the right side of the text view. - * This property is supported only for single-line TextInput component. -diff --git a/node_modules/react-native/Libraries/Lists/FlatList.js b/node_modules/react-native/Libraries/Lists/FlatList.js -index a569626..1ea1c03 100644 ---- a/node_modules/react-native/Libraries/Lists/FlatList.js -+++ b/node_modules/react-native/Libraries/Lists/FlatList.js -@@ -295,7 +295,6 @@ export type Props = { - * Also inherits [ScrollView Props](docs/scrollview.html#props), unless it is nested in another FlatList of same orientation. - */ - class FlatList extends React.PureComponent, void> { -- props: Props; /** - * Scrolls to the end of the content. May be janky without `getItemLayout` prop. - */ -diff --git a/node_modules/react-native/Libraries/Lists/VirtualizedList.js b/node_modules/react-native/Libraries/Lists/VirtualizedList.js -index 69e6309..5343e6a 100644 ---- a/node_modules/react-native/Libraries/Lists/VirtualizedList.js -+++ b/node_modules/react-native/Libraries/Lists/VirtualizedList.js -@@ -34,6 +34,7 @@ const RefreshControl = require('../Components/RefreshControl/RefreshControl'); - const ScrollView = require('../Components/ScrollView/ScrollView'); - const View = require('../Components/View/View'); - const Batchinator = require('../Interaction/Batchinator'); -+const Platform = require('../Utilities/Platform'); - const ReactNative = require('../Renderer/shims/ReactNative'); - const flattenStyle = require('../StyleSheet/flattenStyle'); - const StyleSheet = require('../StyleSheet/StyleSheet'); -@@ -2170,9 +2171,10 @@ function describeNestedLists(childList: { - } - - const styles = StyleSheet.create({ -- verticallyInverted: { -- transform: [{scaleY: -1}], -- }, -+ verticallyInverted: -+ Platform.OS === 'android' -+ ? { scaleY: -1 } -+ : { transform: [{scaleY: -1}] }, - horizontallyInverted: { - transform: [{scaleX: -1}], - }, + * If true, the keyboard shortcuts (undo/redo and copy buttons) are disabled. The default value is false. + * @platform ios diff --git a/node_modules/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.h b/node_modules/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.h -index 5ccb6b6..1f326d4 100644 +index be946f8..2d2d57d 100644 --- a/node_modules/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.h +++ b/node_modules/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.h -@@ -35,6 +35,8 @@ NS_ASSUME_NONNULL_BEGIN +@@ -36,6 +36,8 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, assign) BOOL caretHidden; +@property (nonatomic, copy, nullable) NSString *allowImagePasteForThreadID; + @property (nonatomic, strong, nullable) NSString *inputAccessoryViewID; + @property (nonatomic, strong, nullable) NSString *inputAccessoryViewButtonLabel; - @end -diff --git a/node_modules/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.m b/node_modules/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.m -index 92371bc..e991835 100644 ---- a/node_modules/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.m -+++ b/node_modules/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.m -@@ -164,8 +164,12 @@ - (void)setSelectedTextRange:(UITextRange *)selectedTextRange notifyDelegate:(BO +diff --git a/node_modules/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.mm b/node_modules/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +index 565b0f6..9b25d53 100644 +--- a/node_modules/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.mm ++++ b/node_modules/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +@@ -197,8 +197,12 @@ - (void)scrollRangeToVisible:(NSRange)range - (void)paste:(id)sender { -- [super paste:sender]; - _textWasPasted = YES; +- [super paste:sender]; + if ([UIPasteboard generalPasteboard].hasImages && _allowImagePasteForThreadID) { + [_textInputDelegate textInputImagePasted:_allowImagePasteForThreadID]; + } else { -+ [super paste:sender]; + _textWasPasted = YES; ++ [super paste:sender]; + } } // Turn off scroll animation to fix flaky scrolling. -@@ -254,6 +258,10 @@ - (BOOL)canPerformAction:(SEL)action withSender:(id)sender +@@ -290,6 +294,10 @@ - (BOOL)canPerformAction:(SEL)action withSender:(id)sender return NO; } @@ -98,10 +59,10 @@ } diff --git a/node_modules/react-native/Libraries/Text/TextInput/RCTBackedTextInputDelegate.h b/node_modules/react-native/Libraries/Text/TextInput/RCTBackedTextInputDelegate.h -index c2a4362..90f8583 100644 +index 7187177..77c6573 100644 --- a/node_modules/react-native/Libraries/Text/TextInput/RCTBackedTextInputDelegate.h +++ b/node_modules/react-native/Libraries/Text/TextInput/RCTBackedTextInputDelegate.h -@@ -33,6 +33,8 @@ NS_ASSUME_NONNULL_BEGIN +@@ -37,6 +37,8 @@ NS_ASSUME_NONNULL_BEGIN - (void)textInputDidChangeSelection; @@ -110,20 +71,20 @@ @optional - (void)scrollViewDidScroll:(UIScrollView *)scrollView; -diff --git a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.m b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.m -index a492492..e3b38cb 100644 ---- a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.m -+++ b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.m -@@ -19,6 +19,8 @@ +diff --git a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.mm b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.mm +index 6a2d4f8..e3b7e77 100644 +--- a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.mm ++++ b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.mm +@@ -20,6 +20,8 @@ #import #import +#import + - @implementation RCTBaseTextInputView { - __weak RCTBridge *_bridge; - __weak id _eventDispatcher; -@@ -491,6 +493,46 @@ - (void)textInputDidChangeSelection + /** Native iOS text field bottom keyboard offset amount */ + static const CGFloat kSingleLineKeyboardBottomOffset = 15.0; + static NSSet *returnKeyTypesSet; +@@ -599,6 +601,46 @@ - (void)textInputDidChangeSelection }); } @@ -170,11 +131,11 @@ - (void)updateLocalData { [self enforceTextAttributesIfNeeded]; -diff --git a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.m b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.m -index b1ecf85..3462f98 100644 ---- a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.m -+++ b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.m -@@ -33,6 +33,7 @@ @implementation RCTBaseTextInputViewManager +diff --git a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +index dd39699..1ea7b11 100644 +--- a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm ++++ b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +@@ -32,6 +32,7 @@ @implementation RCTBaseTextInputViewManager { #pragma mark - Unified properties @@ -182,29 +143,3 @@ RCT_REMAP_VIEW_PROPERTY(autoCapitalize, backedTextInputView.autocapitalizationType, UITextAutocapitalizationType) RCT_REMAP_VIEW_PROPERTY(autoCorrect, backedTextInputView.autocorrectionType, UITextAutocorrectionType) RCT_REMAP_VIEW_PROPERTY(contextMenuHidden, backedTextInputView.contextMenuHidden, BOOL) -diff --git a/node_modules/react-native/ReactAndroid/build.gradle b/node_modules/react-native/ReactAndroid/build.gradle -index 3be8b26..3f7bba8 100644 ---- a/node_modules/react-native/ReactAndroid/build.gradle -+++ b/node_modules/react-native/ReactAndroid/build.gradle -@@ -61,7 +61,7 @@ task createNativeDepsDirectories { - } - - task downloadBoost(dependsOn: createNativeDepsDirectories, type: Download) { -- src("https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION.replace("_", ".")}/source/boost_${BOOST_VERSION}.tar.gz") -+ src("https://archives.boost.io/release/${BOOST_VERSION.replace("_", ".")}/source/boost_${BOOST_VERSION}.tar.gz") - onlyIfNewer(true) - overwrite(false) - dest(new File(downloadsDir, "boost_${BOOST_VERSION}.tar.gz")) -diff --git a/node_modules/react-native/third-party-podspecs/boost.podspec b/node_modules/react-native/third-party-podspecs/boost.podspec -index 2f1fcc4..fa82134 100644 ---- a/node_modules/react-native/third-party-podspecs/boost.podspec -+++ b/node_modules/react-native/third-party-podspecs/boost.podspec -@@ -10,7 +10,7 @@ Pod::Spec.new do |spec| - spec.homepage = 'http://www.boost.org' - spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.' - spec.authors = 'Rene Rivera' -- spec.source = { :http => 'https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2', -+ spec.source = { :http => 'https://archives.boost.io/release/1.76.0/source/boost_1_76_0.tar.bz2', - :sha256 => 'f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41' } - - # Pinning to the same version as React.podspec.