Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge from upstream through 2020-05-09 #806

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
241 commits
Select commit Hold shift + click to select a range
cd13c99
Update default Podfile to not depend on a path (#28572)
grabbou Apr 9, 2020
cd347a7
Upgrade Prettier in Xplat to version 1.19.1
gkz Apr 9, 2020
ccb7dbe
Stop using get_fbobjc_enable_exception_lang_compiler_flags_DEPRECATED…
swolchok Apr 9, 2020
449dc37
Add ProGuard rule for hermes (#28571)
radko93 Apr 9, 2020
dff17ef
Move CheckBox JS files to FB Internal
poteto Apr 9, 2020
44ec762
fix: ripple should be applied even when borderless == false (#28526)
vonovak Apr 9, 2020
411c344
Remove ColorAndroid function as it adds no value over PlatfromColor (…
tom-un Apr 10, 2020
d4d6dff
iOS: mark some old NativeModule targets with depslint_never_remove
fkgozali Apr 10, 2020
8988a07
Update Gradle Wrapper to 6.3 (#28173)
friederbluemle Apr 10, 2020
46c77dc
Fix crash inside RCTRedBox when trying to present same UIViewControll…
sammy-SC Apr 10, 2020
be78673
Animated: Early detection of division by zero in AnimatedDivision
shergin Apr 11, 2020
d7d585f
Fabric: Controlling DifferentiatorMode via ReactNativeConfig
shergin Apr 11, 2020
4305a29
Upgrade Hermes dependency to 0.5.0
willholen Apr 14, 2020
49c90e9
Set width/height also to Undefined when we change the measure mode to…
SidharthGuglani-zz Apr 14, 2020
9c54bf4
Remove redundant input from TextInput
sammy-SC Apr 14, 2020
e0da72a
Update RNTester AppDelegate for changes made to SurfacePresenter API …
empyrical Apr 14, 2020
9bc7a07
Retryable ViewCommand exceptions shouldn't crash
JoshuaGross Apr 14, 2020
b861782
Remove setMostRecentEventCount from TextInput view commands
sammy-SC Apr 14, 2020
e6ed5b2
label-actions: Add canned response for upgrade issues
hramos Apr 14, 2020
eaba383
Yoga Podspec: Export YGNode and YGStyle headers (#997)
empyrical Apr 14, 2020
8901d95
Add logging to catch null TurboModules
RSNara Apr 15, 2020
36688d3
Remove module cache from ReactPackageTurboModuleManagerDelegate
RSNara Apr 15, 2020
bc99a32
Control concurrent calls into TMMDelegate from TMM
RSNara Apr 15, 2020
78266b8
Bump eslint-plugin-react-native-community version to 1.1.0
TheSavior Apr 15, 2020
75a6178
Update Babel to 7.8.x/7.9.x
cpojer Apr 15, 2020
992e0ce
fix: do not throw on missing `cliPath`, use the default value (#28625)
grabbou Apr 15, 2020
1908d50
Fix CIRCLE_PR_NUMBER may not always be set (#28640)
tido64 Apr 15, 2020
a9bac17
Add "Open Debugger" and "Open React DevTools" to iOS dev menu
rickhanlonii Apr 16, 2020
33b3a1a
Changed iOS LaunchScreen from xib to storyboard (#28239)
jeswinsimon Apr 16, 2020
25ed045
Switch over to JavaTurboModule::InitParams
RSNara Apr 16, 2020
dda7f82
RN: Shrinkwrap Text Layout (Android)
yungsters Apr 16, 2020
b2d10bc
(eslint-config) update community eslint plugin in eslint config (#28642)
Naturalclar Apr 16, 2020
ddc3300
chore: update CLI to the latest version (#28623)
grabbou Apr 16, 2020
7cedccd
Add "Open Debugger" and "Open React DevTools" to Android dev menu
rickhanlonii Apr 16, 2020
44beb2a
Remove the post install step (#28651)
priteshrnandgaonkar Apr 16, 2020
fb04237
Revert D21064653: Remove the post install step
TheSavior Apr 16, 2020
56583c6
Remove out of date TODO
rickhanlonii Apr 16, 2020
1ee8c0c
RNTester LayoutAnimation example: add more options
JoshuaGross Apr 16, 2020
b2ccfac
Add a "reparenting" LayoutAnimation example that animates flattening/…
JoshuaGross Apr 16, 2020
f5d00e5
Fix jsi cmake include dirs (#207)
ryantrem Apr 16, 2020
abde015
Resolve `kind-of` vulnerability by bumping to 6.0.3
TheSavior Apr 16, 2020
8c9c402
Move CheckBox Android files to FB internal (#28658)
poteto Apr 17, 2020
251ff1b
Part 1: Update ObjC++ codegen classes to use ObjCTurboModule::InitParams
RSNara Apr 17, 2020
03bd7d7
Part 2: Update ObjC++ codegen classes to use ObjCTurboModule::InitParams
RSNara Apr 17, 2020
d75401a
Part 3: Update RCTTurboModuleManagerDelegate to use ObjCTurboModule::…
RSNara Apr 17, 2020
90f60a8
chore: update `./scripts/test-manual-e2e.sh` (#28653)
grabbou Apr 17, 2020
49e16bd
use default value of enums YGDirection and YGMeasureMode instead of -1
SidharthGuglani-zz Apr 17, 2020
04de69a
fix typo as there is no file called YGJNI.cpp (#990)
acton393 Apr 17, 2020
894f6b3
Remove unused packages from xplat/js/package.json
cpojer Apr 17, 2020
0a67133
Make ColorValue public in StyleSheet.js
Apr 17, 2020
4c538fc
Fabric: `LayoutableShadowNode:getLayoutMetrics` is not a virtual meth…
shergin Apr 18, 2020
62544c0
Fabric: Proper traits for `ImageShadowNode` and `ViewShadowNode`
shergin Apr 18, 2020
cc07baa
Fabric: "Attempt to mutate a sealed object." is now an assert (not ex…
shergin Apr 18, 2020
e1eef24
Fabric: Implementation of `getDebugDescription` for `std::array`
shergin Apr 18, 2020
e56950d
Fabric: `componentregistry` module was decoupled from `uimanager`
shergin Apr 18, 2020
599f1ed
Fabric: `scheduler` module was decoupled from `uimanager`
shergin Apr 18, 2020
7a2c685
Fabric: `templateprocessor` module was decoupled from `uimanager`
shergin Apr 18, 2020
335f3aa
Migrate deprecated frameInterval to preferredFramesPerSecond (#28675)
safaiyeh Apr 19, 2020
de188a2
Fabric: Fix case of Glog include in MountingTest.cpp (#28616)
empyrical Apr 19, 2020
b000664
Fabric: Add Unicode prefix to AttachmentCharacter (#28617)
empyrical Apr 19, 2020
6694ce0
Fabric: Fixed incorrect early-return in `UIView+ComponentViewProtocol…
shergin Apr 20, 2020
7757ad0
Fix border-stroke drawing after resetting border-radius (#28356)
IjzerenHein Apr 20, 2020
5dc6ede
Fabric: Using proper clock in MountingTelemetryTest
shergin Apr 20, 2020
28dce36
Fix rounded border drawing when border-radius is smaller than border-…
IjzerenHein Apr 20, 2020
7cc791b
Fabric: `ComponentDescriptor::cloneProps()` now never returns the bas…
shergin Apr 20, 2020
f248ba1
Upgrade to Jest 25
cpojer Apr 20, 2020
5709996
Apply placeholderColor to TextInput component
sammy-SC Apr 20, 2020
e7ef35c
Fix mistake in swapping left/right layout properties
sammy-SC Apr 20, 2020
8057550
Fixed incorrect owner assignment in YGNode move constructor
shergin Apr 20, 2020
854f637
Easy diff to add a TODO
mdvacca Apr 20, 2020
04bc315
Add support for generating custom messages
willholen Apr 20, 2020
33ccc0a
Implement Hermes.setPauseOnLoad
willholen Apr 20, 2020
7701275
Switch isPackagerRunning to a class method.
rickhanlonii Apr 20, 2020
4afb836
Fabric: Fixed `getDirtied` vs `isDirty` in `YogaLayoutableShadowNode`
shergin Apr 21, 2020
d639063
Fabric: More strict policies to dirty Yoga nodes in YogaLayoutableSha…
shergin Apr 21, 2020
25793ea
Allow iOS PlatformColor strings to be ObjC or Swift UIColor selectors…
tom-un Apr 21, 2020
1fdb9ac
Update Differ test
JoshuaGross Apr 21, 2020
8c4efc9
Enable Yoga logging in Fabric Debug
mdvacca Apr 21, 2020
05c76be
Easy diff to document in code how to enable logging of Shadow Tree in…
mdvacca Apr 21, 2020
a136b34
Flip text alignment in case layout direction is RTL
sammy-SC Apr 21, 2020
19658a1
Daily `arc lint --take GOOGLEJAVAFORMAT`
Apr 21, 2020
17f025b
Upgrade Flipper to 0.37.0 (#28545)
sunnylqm Apr 22, 2020
0b68f3c
Upgrade babel-eslint in xplat/js
gkz Apr 22, 2020
a850d11
RN: Create `RootTag` Type
yungsters Apr 22, 2020
5242ad9
RN: Add `RootTag` Type to TurboModule
yungsters Apr 22, 2020
6aab3f8
RN: Fix Codegen Schema Buck Dependency (#28719)
yungsters Apr 22, 2020
57fee33
Flow 0.123.0 in xplat/js
panagosg7 Apr 22, 2020
2ad827b
Remove outdated metro type definitions
cpojer Apr 22, 2020
bf5f3c6
Daily `arc lint --take CLANGFORMAT`
Apr 22, 2020
df03228
remove tvOS from template (#28706)
Naturalclar Apr 22, 2020
3246eae
Fabric: `ConcreteShadowNode::initialStateData()` now accepts a `Shado…
shergin Apr 22, 2020
f64b39e
Fabric: Introducting `ShadowNodeFamilyFragment::Value`
shergin Apr 22, 2020
2c473e1
Overhaul RCTTurboModule creation and initialization
RSNara Apr 22, 2020
d06ee3d
Fix folly::dynamic crash when attaching a debugger to Hermes
willholen Apr 23, 2020
a2f8b9c
Set black as default text color for <TextInput/> on iOS (#28708)
JonnyBurger Apr 23, 2020
ca16256
Daily `arc lint --take CLANGFORMAT`
Apr 23, 2020
ab9b212
RN: Rename `{ => Event}ObjectPropertyType` in Codegen
yungsters Apr 23, 2020
1b2bcb1
RN: Rename `{NativePrimitive => ReservedProp}TypeAnnotation` in Codegen
yungsters Apr 23, 2020
b8bfc50
RN: Rename `{ => NativeModule}MethodTypeShape` in Codegen
yungsters Apr 23, 2020
064cb12
RN: Add `RootTag` Codegen Parser Test (and Cleanup)
yungsters Apr 23, 2020
310b0c3
RN: Add `RootTag` to New NativeModule Codegen
yungsters Apr 23, 2020
4d9fa4b
RN: Add `RootTag` to New Commands Codegen
yungsters Apr 23, 2020
a903d1b
BackHandler: specify function return type for handler (#28192)
Naturalclar Apr 23, 2020
78b1c85
Fabric: Simplifying Yoga and Fabric integration
shergin Apr 23, 2020
17adf54
Clean up comments about null state wrappers
JoshuaGross Apr 23, 2020
bda8aae
Modal: disable view flattening explicitly for the children of Modal, …
JoshuaGross Apr 23, 2020
ed29ba1
Support `contentOffset` property in Android's ScrollView and Horizont…
JoshuaGross Apr 23, 2020
025be81
RN: Fix Text Layout Ignoring Parent Bounds
yungsters Apr 24, 2020
4ae2de2
Remove unnecessary cast to int in TextInlineView measure functions
mdvacca Apr 24, 2020
fa69356
Use RTL in RTLExample when Platform != android (#28742)
kmelmon Apr 24, 2020
2b56011
Add Dark Mode support to the App template and NewAppScreen components…
Simek Apr 24, 2020
8173427
Allow use of std::tuple<> with decorators directly
mhorowitz Apr 24, 2020
fef8bc3
Fabric: Added assert in ShadowNode
shergin Apr 25, 2020
aad9960
Fabric: Test for State Reconciliation mechanism
shergin Apr 25, 2020
30cc158
ScrollView, HorizontalScrollView: support `null` contentOffset
JoshuaGross Apr 25, 2020
8ca5594
All `measure*` calls should use the latest committed version of a Sha…
JoshuaGross Apr 26, 2020
dfdbf41
chore: remove tvOS from the e2e CI tests (#28743)
Simek Apr 27, 2020
b020e7c
Fix calculating View position within a Window in split-screen mode on…
Apr 27, 2020
e3e9008
Fix image instrumentation internal lifecycle
p-sun Apr 27, 2020
e68f9bf
Calling Paper TextInput setTextAndSelection view command now dirties …
sammy-SC Apr 27, 2020
5cf327e
Blur image in Image component if blurRadius prop is provided
sammy-SC Apr 27, 2020
a4b15a4
Fabric: Marking TextInput as a leaf Yoga node
shergin Apr 27, 2020
79d5b20
Move RuntimeExecutor to its own BUCK module (#28730)
Apr 27, 2020
027e8f9
Send key when onKeyPress event is fired from TextInput
sammy-SC Apr 27, 2020
b871979
Do not send events for changes coming from JavaScript
sammy-SC Apr 27, 2020
26d3bca
Fabric: Increasing threshold for MountingTelemetryTest
shergin Apr 27, 2020
702ff6d
iOS: Fix refreshControl layouting (#28236)
yogevbd Apr 27, 2020
fc5a626
Fix rounding error using double instead of float
SidharthGuglani-zz Apr 27, 2020
81bdead
Fix broken touches on all Fabric surfaces
sammy-SC Apr 27, 2020
423b55b
Move ART Android files to FB internal
luluwu2032 Apr 28, 2020
b2b23a2
Check en0..en8 when generating ip.txt for iOS debug builds (#28764)
malord Apr 28, 2020
1cef72a
Part 1: Make CatalystInstanceImpl.getNativeModule Nullable
RSNara Apr 28, 2020
9263eb5
Part 2: Make CatalystInstanceImpl.getNativeModule Nullable
RSNara Apr 28, 2020
79bc7f9
Revert D20587945: iOS: Fix refreshControl layouting
shergin Apr 28, 2020
3d20f49
Back out "Control concurrent calls into TMMDelegate from TMM"
RSNara Apr 28, 2020
6de9f37
Resolve RNTester Xcode warnings (#28676)
safaiyeh Apr 28, 2020
afdcdc7
Update react.gradle (#28776)
grabbou Apr 28, 2020
00b3cbf
Fix cleanup bug
RSNara Apr 28, 2020
e171c2b
Fix cleanup bug
RSNara Apr 29, 2020
23d6b8d
Create JRuntimeExecutor (#28779)
Apr 29, 2020
78d2b3c
refine invariant error message at scrollToIndex (#28464)
sasurau4 Apr 29, 2020
e9f29a3
Reject promise when if an error occurs while processing prefetching r…
mdvacca Apr 29, 2020
9699933
Add hostname to loading banner on iOS
rickhanlonii Apr 29, 2020
3729fe8
Update loading banner text and colors
rickhanlonii Apr 29, 2020
131c497
Do not update loading banner message while hiding
rickhanlonii Apr 29, 2020
2b771b0
Delay loading banner inital message by 200ms to prevent flashing
rickhanlonii Apr 29, 2020
3fb37b4
Speed up loading banner animations
rickhanlonii Apr 29, 2020
97bc084
Guard all debug logs behind an MC
RSNara Apr 29, 2020
e27542b
Don't allow download percentage to exceed expectations
rickhanlonii Apr 29, 2020
d7299e8
cleanup unused TODO
mdvacca Apr 29, 2020
d8e6c45
Move DevSettingsActivity from main to debug (#28770)
Apr 29, 2020
7566bb4
Delete .clang-tidy for jscallinvoker
RSNara Apr 30, 2020
f7e8838
Enable Animated in Venice
mdvacca Apr 30, 2020
afc3c97
Fabric: Changes in State reconciliation
shergin Apr 30, 2020
f746119
Fabric: Gating for new state reconciliation
shergin Apr 30, 2020
d20ac69
Replace duplicate code in AndroidInfoModule with call to AndroidInfoH…
ide Apr 30, 2020
673cbb3
Daily `arc lint --take GOOGLEJAVAFORMAT`
Apr 30, 2020
0569221
Set contentView's frame in setter
sammy-SC Apr 30, 2020
f0dfd35
Smaller loading bar based on feedback
rickhanlonii May 1, 2020
f82a6d7
Reduce exposure of UIManagerModule in the NativeAnimatedNodesManager …
mdvacca May 1, 2020
919554f
Cleanup scheduleMountItem method
mdvacca May 1, 2020
09487e4
Cleanup ReactRootView
mdvacca May 1, 2020
65d52a5
Set layout metrics during initial render of Fabric
mdvacca May 1, 2020
2047041
Use InteropLayer for ReactART
sammy-SC May 1, 2020
12f8b25
fix duration calculation for RCTUIImageViewAnimated
May 1, 2020
c25911b
Update cocoapods, fix RNTester
May 1, 2020
780f06c
Bump @react-native-community/eslint-config in new app template
TheSavior May 1, 2020
56592c5
Fabric: Fixing `executeSynchronouslyOnSameThread_CAN_DEADLOCK`
shergin May 1, 2020
bf0539f
Revert D21336180: Update cocoapods, fix RNTester
May 1, 2020
8c45255
Refactor ReactCallerContextFactory to recive surfaceID as a parameter
mdvacca May 2, 2020
3da8103
Inject Fresco.ImagePipeline into ImageLoaderModule
mdvacca May 2, 2020
eb60019
Extend logging of image prefetching to include react_native contextChain
mdvacca May 2, 2020
03385ac
Fix Fb4aReactPackageTest.testGetNativeModulesByName test
mdvacca May 2, 2020
1787c16
Remove `docs` from `jscodeshift`
cpojer May 3, 2020
8ad8107
iOS: when the bridge has been invalidated, NativeModule lookup should…
fkgozali May 3, 2020
87d000f
Fix invalid type annotations
cpojer May 3, 2020
9cdc19a
Fixes TextInput shaking when typing Chinese (#28805)
zhongwuzw May 4, 2020
7bd694f
VirtualizedList: Migrate to React.Context
yungsters May 4, 2020
ddea7c7
VirtualizedList: Remove `PropTypes` Dependency
yungsters May 4, 2020
8acb2b3
Remove `@babel/preset-env`
cpojer May 4, 2020
577fdea
Add prepareForReuse to RCTSafeAreaViewComponentView
sammy-SC May 4, 2020
ced959b
chore: remove Kotlin version from the default template (#28626)
grabbou May 4, 2020
d815be1
Fix Optimized Differ (was generating extraneous Create mutations)
JoshuaGross May 4, 2020
7f2515e
Add warning when scrollRef does not have a scrollTo method
kacieb May 4, 2020
30a89f3
Don't use #import in C++ Code (#28825)
NickGerleman May 4, 2020
ca144fc
Fix unit test compilation on Android
JoshuaGross May 5, 2020
aae38c3
Support calling LayoutAnimation APIs in Fabric from JS
JoshuaGross May 5, 2020
bb5d043
Differ: fix TinyMap to prevent possible crashes in `find()` and `begi…
JoshuaGross May 5, 2020
0348953
Allow passing partial contentOffset to ScrollView on Android (#28817)
janicduplessis May 5, 2020
4f5a092
Pass initial props to WrapperComponent
rubennorte May 5, 2020
1740233
Upgrade to Jest 26
cpojer May 5, 2020
4459c08
Make column match fuzzy
willholen May 5, 2020
de7f69a
Fix type of exported Touchables: ComponentType -> AbstractComponent (…
draperunner May 5, 2020
e8060ae
Import folly and adjust whitespace to match old codegen
hramos May 5, 2020
edfd965
Update native module specs
May 6, 2020
10314fe
Smoother scrolling in ScrollView, HorizontalScrollView
JoshuaGross May 6, 2020
530dffa
Cleanup unused dependencies
cpojer May 6, 2020
b0d0e51
iOS: Animated image should animate at the same speed regardless of fr…
p-sun May 6, 2020
5066b66
LogBox - Always display the first fatal error
rickhanlonii May 6, 2020
41f0d9b
Rename error titles
rickhanlonii May 6, 2020
de667ff
Moved some NativeModule JS specs to OSS
fkgozali May 6, 2020
0c2c4bf
Deploy Flow v0.124.0 to xplat/js
nmote May 6, 2020
d14b89b
RN: Workaround Fabric + Virtual Text Press Bug
yungsters May 6, 2020
fa5b4c9
Fabric: Backward-compatible behaviour of `measureInWindow` and `measure`
shergin May 6, 2020
21d7a35
Upgrade to Yargs 15
cpojer May 6, 2020
ff0c625
Ez Extend logging of Fabric
mdvacca May 6, 2020
5c48c94
Fix measureLayout function for Virtual Nodes
mdvacca May 6, 2020
ca105f8
Update cocoapods (#28833)
May 6, 2020
d76e03f
Fabric: Introducing `RunLoopObserver`
shergin May 7, 2020
025b6a7
Fabric: Cross-platform implementation of `SynchronousEventBeat` and `…
shergin May 7, 2020
f4815fb
third-party | Move glog from xplat/third-party to third-party and cre…
nlutsenko May 7, 2020
851644c
Fix Animated type
rijn May 7, 2020
e566c7e
Add virtual destructor to JSError
javache May 7, 2020
26c120c
Handle initialProps as optional in renderApplication
rubennorte May 7, 2020
7bb1c4e
Enable with CocoaPods `:configuration` (#28796)
alloy May 7, 2020
16ea9ba
Support excluding multiple platforms.
joaovieira May 7, 2020
4e59508
Extend ParagraphAttribute to store the includeFontPadding prop
mdvacca May 8, 2020
561a97f
Extend Text measurement to support includeFontPadding prop
mdvacca May 8, 2020
11b9bad
Small refactor on text measure method
mdvacca May 8, 2020
853dc04
Handle optional return types/values
hramos May 8, 2020
6e88ab6
Avoid redefining id when a property is named 'id'
hramos May 8, 2020
14a0f3f
Eager initialize Fabric Android classes
mdvacca May 8, 2020
938aa86
Remove Hermes.setPauseOnLoad message
willholen May 8, 2020
bf837d6
Add support for Debugger.setInstrumentationBreakpoint
willholen May 8, 2020
164d47f
label react-native-github targets
fkgozali May 8, 2020
91a49d8
Add script to generate native modules specs with react-native-codegen
hramos May 8, 2020
69ce9c2
Update .gitignore (#28789)
enesozturk May 8, 2020
c67e1fe
Codegen: Add prepublish script to build Flow files (#28827)
empyrical May 8, 2020
77d1380
Remove RCTLogError from RCTScrollViewManager.calculateChildFrames
sammy-SC May 8, 2020
13ee5c4
Enable animations in bridgeless mode on iOS
May 8, 2020
a4a47b9
Expose RuntimeExecutor on CatalystInstance (#28851)
May 8, 2020
f535c8b
Inject ImagePipeline into FrescoModule
mdvacca May 8, 2020
aece57b
Fabric: Calling JSVM GC on memory pressure event on iOS
shergin May 9, 2020
a1ac251
TextInput: Default `blurOnSubmit` in JS
yungsters May 10, 2020
fd34ef0
Merge commit '17f025bc26da13da795845a3f7daee65563420c0' into amgleitm…
amgleitman Jul 20, 2021
8f6b9fb
Merge commit '30cc158a875a0414cf53d4d5155410eea5d5aeea' into amgleitm…
amgleitman Jul 21, 2021
78a3b4b
Merge commit 'f0dfd35108dd3f092d46b65e77560c35477bf6ba' into amgleitm…
amgleitman Jul 21, 2021
eea1457
Merge commit '03489539146556ec5ba6ba07ac338ce200f5b0f4' into amgleitm…
amgleitman Jul 21, 2021
a0e38c7
Merge commit 'a1ac2518a364ebcd3cc024a22229cadc1791e1c4' into amgleitm…
amgleitman Jul 22, 2021
e715297
Merge branch 'master' into amgleitman/0.64-merge-2020-05-09
amgleitman Jul 27, 2021
f092770
(Temporarily) remove droid-node-patching portions of Apple verification
amgleitman Aug 3, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 0 additions & 4 deletions .ado/templates/apple-job-javascript.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,6 @@ steps:
slice_name: ${{ parameters.slice_name }}
xcode_version: ${{ parameters.xcode_version }}

- template: apple-droid-node-patching.yml
parameters:
apply_office_patches: $(apply_office_patches)

- script: 'yarn install'
displayName: 'yarn install'

Expand Down
4 changes: 0 additions & 4 deletions .ado/templates/apple-job-react-native.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,6 @@ steps:
slice_name: ${{ parameters.slice_name }}
xcode_version: ${{ parameters.xcode_version }}

- template: apple-droid-node-patching.yml
parameters:
apply_office_patches: $(apply_office_patches)

- task: CmdLine@2
displayName: yarn install
inputs:
Expand Down
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@ pr-inactivity-bookmarklet.js
question-bookmarklet.js
bots/node_modules
android-patches/
packages/react-native-codegen/lib
2 changes: 1 addition & 1 deletion .flowconfig
Original file line number Diff line number Diff line change
Expand Up @@ -90,4 +90,4 @@ untyped-import
untyped-type-import

[version]
^0.123.0
^0.124.0
2 changes: 1 addition & 1 deletion .flowconfig.android
Original file line number Diff line number Diff line change
Expand Up @@ -93,4 +93,4 @@ untyped-import
untyped-type-import

[version]
^0.123.0
^0.124.0
2 changes: 1 addition & 1 deletion .flowconfig.macos
Original file line number Diff line number Diff line change
Expand Up @@ -89,4 +89,4 @@ untyped-import
untyped-type-import

[version]
^0.123.0
^0.124.0
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,14 @@ RNTester/Pods/*
!RNTester/Pods/__offline_mirrors

# react-native-codegen
/packages/react-native-codegen/lib
/ReactCommon/fabric/components/rncore/
/schema-native-modules.json
/schema-rncore.json

# Visual studio
.vscode
.vs

# Android memory profiler files
*.hprof
12 changes: 9 additions & 3 deletions Libraries/ART/ARTGroup.m
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,19 @@ @implementation ARTGroup

- (void)renderLayerTo:(CGContextRef)context
{

if (!CGRectIsEmpty(self.clipping)) {
CGContextClipToRect(context, self.clipping);
}

for (ARTNode *node in self.subviews) {
[node renderTo:context];
for (RCTPlatformView *subview in self.subviews) { // TODO(macOS GH#774)

Choose a reason for hiding this comment

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

Did you add this? If so can we be explicit exactly what lines we're adding and why?

Copy link
Member Author

Choose a reason for hiding this comment

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

The only thing I changed is replacing UIView with RCTPlatformView.

if ([subview respondsToSelector:@selector(renderTo:)]) {
[(ARTNode *)subview renderTo:context];
} else {
// This is needed for legacy interop layer. Legacy interop layer
// is superview of the view that it is bridging, that's why we need
// to grab its first subview.
[(ARTNode *)subview.subviews.firstObject renderTo:context];
}
}
}

Expand Down
6 changes: 4 additions & 2 deletions Libraries/ART/ARTNode.m
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,10 @@ - (void)setTransform:(CGAffineTransform)transform

- (void)invalidate
{
id<ARTContainer> container = (id<ARTContainer>)self.superview;
[container invalidate];
if ([self.superview respondsToSelector:@selector(invalidate)]) {
id<ARTContainer> container = (id<ARTContainer>)self.superview;
[container invalidate];
}
}

- (void)renderTo:(CGContextRef)context
Expand Down
11 changes: 9 additions & 2 deletions Libraries/ART/ARTSurfaceView.m
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,15 @@ - (void)drawRect:(CGRect)rect
{
[super drawRect:rect];
CGContextRef context = UIGraphicsGetCurrentContext();
for (ARTNode *node in self.subviews) {
[node renderTo:context];
for (RCTPlatformView *subview in self.subviews) {
if ([subview respondsToSelector:@selector(renderTo:)]) {
[(ARTNode *)subview renderTo:context];
} else {
// This is needed for legacy interop layer. Legacy interop layer
// is superview of the view that it is bridging, that's why we need
// to grab its first subview.
[(ARTNode *)subview.subviews.firstObject renderTo:context];
}
}
}

Expand Down
27 changes: 13 additions & 14 deletions Libraries/Animated/src/Animated.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,38 +11,37 @@
'use strict';

import Platform from '../../Utilities/Platform';
const View = require('../../Components/View/View');
const React = require('react');
import type {AnimatedComponentType} from './createAnimatedComponent';
import typeof AnimatedFlatList from './components/AnimatedFlatList';
import typeof AnimatedImage from './components/AnimatedImage';
import typeof AnimatedScrollView from './components/AnimatedScrollView';
import typeof AnimatedSectionList from './components/AnimatedSectionList';
import typeof AnimatedText from './components/AnimatedText';
import typeof AnimatedView from './components/AnimatedView';

const AnimatedMock = require('./AnimatedMock');
const AnimatedImplementation = require('./AnimatedImplementation');

//TODO(T57411659): Remove the bridgeless check when Animated perf regressions are fixed.
const Animated = ((Platform.isTesting || global.RN$Bridgeless
const Animated = ((Platform.isTesting
? AnimatedMock
: AnimatedImplementation): typeof AnimatedMock);

module.exports = {
get FlatList(): any {
get FlatList(): AnimatedFlatList {
return require('./components/AnimatedFlatList');
},
get Image(): any {
get Image(): AnimatedImage {
return require('./components/AnimatedImage');
},
get ScrollView(): any {
get ScrollView(): AnimatedScrollView {
return require('./components/AnimatedScrollView');
},
get SectionList(): any {
get SectionList(): AnimatedSectionList {
return require('./components/AnimatedSectionList');
},
get Text(): any {
get Text(): AnimatedText {
return require('./components/AnimatedText');
},
get View(): AnimatedComponentType<
React.ElementConfig<typeof View>,
React.ElementRef<typeof View>,
> {
get View(): AnimatedView {
return require('./components/AnimatedView');
},
...Animated,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,5 +56,5 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({

export default (codegenNativeComponent<NativeProps>('DatePicker', {
paperComponentName: 'RCTDatePicker',
excludedPlatform: 'android',
excludedPlatforms: ['android'],
}): HostComponent<NativeProps>);
Original file line number Diff line number Diff line change
Expand Up @@ -61,5 +61,5 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({

export default (codegenNativeComponent<NativeProps>('PullToRefreshView', {
paperComponentName: 'RCTRefreshControl',
excludedPlatform: 'android',
excludedPlatforms: ['android'],
}): HostComponent<NativeProps>);
2 changes: 1 addition & 1 deletion Libraries/Components/Switch/SwitchNativeComponent.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,5 +55,5 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({

export default (codegenNativeComponent<NativeProps>('Switch', {
paperComponentName: 'RCTSwitch',
excludedPlatform: 'android',
excludedPlatforms: ['android'],
}): ComponentType);
6 changes: 6 additions & 0 deletions Libraries/Components/TextInput/TextInput.js
Original file line number Diff line number Diff line change
Expand Up @@ -1092,6 +1092,10 @@ function InternalTextInput(props: Props): React.Node {
// This is a hack to let Flow know we want an exact object
|} = {...null};

// The default value for `blurOnSubmit` is true for single-line fields and
// false for multi-line fields.
const blurOnSubmit = props.blurOnSubmit ?? !props.multiline;

if (
Platform.OS === 'ios' ||
Platform.OS === 'macos' /* TODO(macOS GH#774) */
Expand All @@ -1111,6 +1115,7 @@ function InternalTextInput(props: Props): React.Node {
<RCTTextInputView
ref={_setNativeRef}
{...props}
blurOnSubmit={blurOnSubmit}
dataDetectorTypes={props.dataDetectorTypes}
mostRecentEventCount={mostRecentEventCount}
onBlur={_onBlur}
Expand Down Expand Up @@ -1146,6 +1151,7 @@ function InternalTextInput(props: Props): React.Node {
ref={_setNativeRef}
{...props}
autoCapitalize={autoCapitalize}
blurOnSubmit={blurOnSubmit}
children={children}
disableFullscreenUI={props.disableFullscreenUI}
mostRecentEventCount={mostRecentEventCount}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ exports[`TextInput tests should render as expected: should deep render when mock
acceptsFirstMouse={true}
accessible={true}
allowFontScaling={true}
blurOnSubmit={true}
enableFocusRing={true}
focusable={true}
forwardedRef={null}
Expand Down Expand Up @@ -36,6 +37,7 @@ exports[`TextInput tests should render as expected: should deep render when not
acceptsFirstMouse={true}
accessible={true}
allowFontScaling={true}
blurOnSubmit={true}
enableFocusRing={true}
focusable={true}
forwardedRef={null}
Expand Down
2 changes: 1 addition & 1 deletion Libraries/Components/Touchable/Touchable.js
Original file line number Diff line number Diff line change
Expand Up @@ -701,7 +701,7 @@ const TouchableMixin = {
globalY: number,
) {
//don't do anything UIManager failed to measure node
if (!l && !t && !w && !h && !globalX && !globalY) {
if (!(l > 0 || t > 0 || w > 0 || h > 0 || globalX > 0 || globalY > 0)) {
return;
}
this.state.touchable.positionOnActivate &&
Expand Down
2 changes: 1 addition & 1 deletion Libraries/Components/Touchable/TouchableBounce.js
Original file line number Diff line number Diff line change
Expand Up @@ -246,4 +246,4 @@ class TouchableBounce extends React.Component<Props, State> {

module.exports = (React.forwardRef((props, hostRef) => (
<TouchableBounce {...props} hostRef={hostRef} />
)): React.ComponentType<$ReadOnly<$Diff<Props, {|hostRef: mixed|}>>>);
)): React.AbstractComponent<$ReadOnly<$Diff<Props, {|hostRef: mixed|}>>>);
2 changes: 1 addition & 1 deletion Libraries/Components/Touchable/TouchableHighlight.js
Original file line number Diff line number Diff line change
Expand Up @@ -413,4 +413,4 @@ class TouchableHighlight extends React.Component<Props, State> {

module.exports = (React.forwardRef((props, hostRef) => (
<TouchableHighlight {...props} hostRef={hostRef} />
)): React.ComponentType<$ReadOnly<$Diff<Props, {|hostRef: mixed|}>>>);
)): React.AbstractComponent<$ReadOnly<$Diff<Props, {|hostRef: mixed|}>>>);
2 changes: 1 addition & 1 deletion Libraries/Components/Touchable/TouchableOpacity.js
Original file line number Diff line number Diff line change
Expand Up @@ -359,4 +359,4 @@ class TouchableOpacity extends React.Component<Props, State> {

module.exports = (React.forwardRef((props, hostRef) => (
<TouchableOpacity {...props} hostRef={hostRef} />
)): React.ComponentType<$ReadOnly<$Diff<Props, {|hostRef: mixed|}>>>);
)): React.AbstractComponent<$ReadOnly<$Diff<Props, {|hostRef: mixed|}>>>);
51 changes: 51 additions & 0 deletions Libraries/Image/NativeImageEditor.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/**
* (c) Facebook, Inc. and its affiliates. Confidential and proprietary.
*
* @flow strict-local
* @format
*/

'use strict';

import type {TurboModule} from '../TurboModule/RCTExport';
import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';

type Options = {|
+offset: {|
+x: number,
+y: number,
|},
+size: {|
+width: number,
+height: number,
|},
+displaySize?: ?{|
+width: number,
+height: number,
|},
/**
* Enum with potential values:
* - cover
* - contain
* - stretch
* - center
* - repeat
*/
+resizeMode?: ?string,
+allowExternalStorage?: boolean,
|};

export interface Spec extends TurboModule {
+getConstants: () => {||};
+cropImage: (
uri: string,
// eslint-disable-next-line lint/react-native-modules
cropData: Options,
successCallback: (uri: string) => void,
errorCallback: (error: string) => void,
) => void;
}

export default (TurboModuleRegistry.getEnforcing<Spec>(
'ImageEditingManager',
): Spec);
41 changes: 41 additions & 0 deletions Libraries/Image/NativeImageStore.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/**
* (c) Facebook, Inc. and its affiliates. Confidential and proprietary.
*
* @flow strict-local
* @format
*/

'use strict';

import type {TurboModule} from '../TurboModule/RCTExport';
import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';

export interface Spec extends TurboModule {
+getConstants: () => {||};
// Common
+getBase64ForTag: (
uri: string,
successCallback: (base64ImageData: string) => void,

/**
* On Android, the failure callback is called with a string.
* On iOS, the failure callback is called with an error object.
*
* TODO(T47527939) Unify this inconsistency
*/
errorCallback: (error: {|message: string|} | string) => void,
) => void;

// iOS-only
+hasImageForTag: (uri: string, callback: (hasImage: boolean) => void) => void;
+removeImageForTag: (uri: string) => void;
+addImageFromBase64: (
base64ImageData: string,
successCallback: (uri: string) => void,
errorCallback: (error: {|message: string|}) => void,
) => void;
}

export default (TurboModuleRegistry.getEnforcing<Spec>(
'ImageStoreManager',
): Spec);
4 changes: 3 additions & 1 deletion Libraries/Image/RCTImageLoader.mm
Original file line number Diff line number Diff line change
Expand Up @@ -635,7 +635,7 @@ - (RCTImageURLLoaderRequest *)_loadImageOrDataWithURLRequest:(NSURLRequest *)req
}
}
});

return [[RCTImageURLLoaderRequest alloc] initWithRequestId:requestId imageURL:request.URL cancellationBlock:^{
BOOL alreadyCancelled = atomic_fetch_or(cancelled.get(), 1);
if (alreadyCancelled) {
Expand Down Expand Up @@ -856,6 +856,7 @@ - (void)trackURLImageContentDidSetForRequest:(RCTImageURLLoaderRequest *)loaderR
return;
}

// This delegate method is Fabric-only
id<RCTImageURLLoader> loadHandler = [self imageURLLoaderForURL:loaderRequest.imageURL];
if ([loadHandler respondsToSelector:@selector(trackURLImageContentDidSetForRequest:)]) {
[(id<RCTImageURLLoaderWithAttribution>)loadHandler trackURLImageContentDidSetForRequest:loaderRequest];
Expand All @@ -879,6 +880,7 @@ - (void)trackURLImageDidDestroy:(RCTImageURLLoaderRequest *)loaderRequest
if (!loaderRequest) {
return;
}

id<RCTImageURLLoader> loadHandler = [self imageURLLoaderForURL:loaderRequest.imageURL];
if ([loadHandler respondsToSelector:@selector(trackURLImageDidDestroy:)]) {
[(id<RCTImageURLLoaderWithAttribution>)loadHandler trackURLImageDidDestroy:loaderRequest];
Expand Down