Skip to content

Commit 3962094

Browse files
committed
pick more stuff
1 parent a7587e8 commit 3962094

File tree

5 files changed

+209
-68
lines changed

5 files changed

+209
-68
lines changed

packages/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,12 @@ NS_ASSUME_NONNULL_BEGIN
5454
@property (nonatomic, assign) BOOL snapToEnd;
5555
@property (nonatomic, copy) NSArray<NSNumber *> *snapToOffsets;
5656

57+
#if TARGET_OS_OSX // [macOS
58+
- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated;
59+
- (void)zoomToRect:(CGRect)rect animated:(BOOL)animated;
60+
- (void)flashScrollIndicators;
61+
#endif // macOS]
62+
5763
/*
5864
* Makes `setContentOffset:` method no-op when given `block` is executed.
5965
* The block is being executed synchronously.

packages/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm

Lines changed: 72 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,11 @@ - (instancetype)initWithFrame:(CGRect)frame
5959
[weakSelf setPrivateDelegate:delegate];
6060
}];
6161
[_delegateSplitter addDelegate:self];
62-
#endif // [macOS]
62+
#else // [macOS
63+
self.hasHorizontalScroller = YES;
64+
self.hasVerticalScroller = YES;
65+
self.autohidesScrollers = YES;
66+
#endif // macOS]
6367
}
6468

6569
return self;
@@ -110,17 +114,84 @@ - (void)setContentOffset:(CGPoint)contentOffset
110114
if (_isSetContentOffsetDisabled) {
111115
return;
112116
}
117+
#if !TARGET_OS_OSX // [macOS]
113118
super.contentOffset = CGPointMake(
114119
RCTSanitizeNaNValue(contentOffset.x, @"scrollView.contentOffset.x"),
115120
RCTSanitizeNaNValue(contentOffset.y, @"scrollView.contentOffset.y"));
121+
#else // [macOS
122+
if (!NSEqualPoints(contentOffset, self.documentVisibleRect.origin)) {
123+
[self.contentView scrollToPoint:contentOffset];
124+
[self reflectScrolledClipView:self.contentView];
125+
}
126+
#endif // macOS]
116127
}
117128

118129
- (void)setFrame:(CGRect)frame
119130
{
131+
#if !TARGET_OS_OSX // [macOS]
120132
[super setFrame:frame];
121133
[self centerContentIfNeeded];
134+
#else // [macOS
135+
// Preserving and revalidating `contentOffset`.
136+
CGPoint originalOffset = self.contentOffset;
137+
138+
[super setFrame:frame];
139+
140+
UIEdgeInsets contentInset = self.contentInset;
141+
CGSize contentSize = self.contentSize;
142+
143+
// If contentSize has not been measured yet we can't check bounds.
144+
if (CGSizeEqualToSize(contentSize, CGSizeZero)) {
145+
self.contentOffset = originalOffset;
146+
} else {
147+
CGSize boundsSize = self.bounds.size;
148+
CGFloat xMaxOffset = contentSize.width - boundsSize.width + contentInset.right;
149+
CGFloat yMaxOffset = contentSize.height - boundsSize.height + contentInset.bottom;
150+
// Make sure offset doesn't exceed bounds. This can happen on screen rotation.
151+
if ((originalOffset.x >= -contentInset.left) && (originalOffset.x <= xMaxOffset) &&
152+
(originalOffset.y >= -contentInset.top) && (originalOffset.y <= yMaxOffset)) {
153+
return;
154+
}
155+
self.contentOffset = CGPointMake(
156+
MAX(-contentInset.left, MIN(xMaxOffset, originalOffset.x)),
157+
MAX(-contentInset.top, MIN(yMaxOffset, originalOffset.y)));
158+
}
159+
#endif // macOS]
122160
}
123161

162+
#if TARGET_OS_OSX // [macOS
163+
- (NSSize)contentSize
164+
{
165+
if (!self.documentView) {
166+
return [super contentSize];
167+
}
168+
169+
return self.documentView.frame.size;
170+
}
171+
172+
- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated
173+
{
174+
if (animated) {
175+
[NSAnimationContext beginGrouping];
176+
[[NSAnimationContext currentContext] setDuration:0.3];
177+
[[self.contentView animator] setBoundsOrigin:contentOffset];
178+
[NSAnimationContext endGrouping];
179+
} else {
180+
self.contentOffset = contentOffset;
181+
}
182+
}
183+
184+
- (void)zoomToRect:(CGRect)rect animated:(BOOL)animated
185+
{
186+
[self magnifyToFitRect:rect];
187+
}
188+
189+
- (void)flashScrollIndicators
190+
{
191+
[self flashScrollers];
192+
}
193+
#endif // macOS]
194+
124195
- (void)didAddSubview:(RCTPlatformView *)subview // [macOS]
125196
{
126197
[super didAddSubview:subview];

packages/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ NS_ASSUME_NONNULL_BEGIN
5656
RCTGenericDelegateSplitter<id<UIScrollViewDelegate>> *scrollViewDelegateSplitter;
5757
#endif // [macOS]
5858

59+
#if TARGET_OS_OSX // [macOS
60+
@property (nonatomic, assign) UIEdgeInsets contentInset;
61+
#endif // macOS]
62+
5963
@end
6064

6165
/*

packages/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm

Lines changed: 62 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ - (instancetype)initWithFrame:(CGRect)frame
147147
_containerView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
148148
[_scrollView setDocumentView:_containerView];
149149
#endif // macOS]
150-
150+
151151
#if !TARGET_OS_OSX // [macOS]
152152
[self.scrollViewDelegateSplitter addDelegate:self];
153153
#endif // [macOS]
@@ -275,6 +275,38 @@ static inline UIViewAnimationOptions animationOptionsWithCurve(UIViewAnimationCu
275275
}
276276
#endif
277277

278+
#if TARGET_OS_OSX // [macOS
279+
- (void)viewDidMoveToWindow
280+
{
281+
[super viewDidMoveToWindow];
282+
283+
NSNotificationCenter *defaultCenter = [NSNotificationCenter defaultCenter];
284+
if (self.window == nil) {
285+
// Unregister scrollview's clipview bounds change notifications
286+
[defaultCenter removeObserver:self
287+
name:NSViewBoundsDidChangeNotification
288+
object:_scrollView.contentView];
289+
} else {
290+
// Register for scrollview's clipview bounds change notifications so we can track scrolling
291+
[defaultCenter addObserver:self
292+
selector:@selector(scrollViewDocumentViewBoundsDidChange:)
293+
name:NSViewBoundsDidChangeNotification
294+
object:_scrollView.contentView]; // NSClipView
295+
}
296+
}
297+
298+
- (void)setContentInset:(UIEdgeInsets)contentInset
299+
{
300+
if (UIEdgeInsetsEqualToEdgeInsets(contentInset, _contentInset)) {
301+
return;
302+
}
303+
304+
_contentInset = contentInset;
305+
_scrollView.contentInset = contentInset;
306+
_scrollView.scrollIndicatorInsets = contentInset;
307+
}
308+
#endif // macOS]
309+
278310
#if !TARGET_OS_OSX // [macOS]
279311
- (RCTGenericDelegateSplitter<id<UIScrollViewDelegate>> *)scrollViewDelegateSplitter
280312
{
@@ -406,7 +438,11 @@ - (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared &
406438
MAP_SCROLL_VIEW_PROP(zoomScale);
407439

408440
if (oldScrollViewProps.contentInset != newScrollViewProps.contentInset) {
441+
#if !TARGET_OS_OSX // [macOS]
409442
_scrollView.contentInset = RCTUIEdgeInsetsFromEdgeInsets(newScrollViewProps.contentInset);
443+
#else // [macOS
444+
self.contentInset = RCTUIEdgeInsetsFromEdgeInsets(newScrollViewProps.contentInset);
445+
#endif // macOS]
410446
}
411447

412448
RCTEnhancedScrollView *scrollView = (RCTEnhancedScrollView *)_scrollView;
@@ -450,7 +486,7 @@ - (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared &
450486
_shouldUpdateContentInsetAdjustmentBehavior = NO;
451487
}
452488
#endif // [macOS]
453-
489+
454490
MAP_SCROLL_VIEW_PROP(disableIntervalMomentum);
455491
MAP_SCROLL_VIEW_PROP(snapToInterval);
456492

@@ -636,6 +672,22 @@ - (void)prepareForRecycle
636672
_firstVisibleView = nil;
637673
}
638674

675+
#if TARGET_OS_OSX // [macOS
676+
#pragma mark - NSScrollView scroll notification
677+
678+
- (void)scrollViewDocumentViewBoundsDidChange:(__unused NSNotification *)notification
679+
{
680+
RCTEnhancedScrollView *scrollView = _scrollView;
681+
682+
if (scrollView.centerContent) {
683+
// Update content centering through contentOffset setter
684+
[scrollView setContentOffset:scrollView.contentOffset];
685+
}
686+
687+
[self scrollViewDidScroll:scrollView];
688+
}
689+
#endif // macOS]
690+
639691
#pragma mark - UIScrollViewDelegate
640692

641693
#if !TARGET_OS_OSX // [macOS]
@@ -861,6 +913,8 @@ - (void)flashScrollIndicators
861913
{
862914
#if !TARGET_OS_OSX // [macOS]
863915
[_scrollView flashScrollIndicators];
916+
#else // [macOS
917+
[(RCTEnhancedScrollView *)_scrollView flashScrollers];
864918
#endif // [macOS]
865919
}
866920

@@ -960,7 +1014,11 @@ - (void)scrollToOffset:(CGPoint)offset animated:(BOOL)animated
9601014

9611015
[self _forceDispatchNextScrollEvent];
9621016

1017+
#if !TARGET_OS_OSX // [macOS]
9631018
[_scrollView setContentOffset:offset animated:animated];
1019+
#else // [macOS
1020+
[(RCTEnhancedScrollView *)_scrollView setContentOffset:offset animated:animated];
1021+
#endif // macOS]
9641022

9651023
if (!animated) {
9661024
// When not animated, the expected workflow in ``scrollViewDidEndScrollingAnimation`` after scrolling is not going
@@ -973,6 +1031,8 @@ - (void)zoomToRect:(CGRect)rect animated:(BOOL)animated
9731031
{
9741032
#if !TARGET_OS_OSX // [macOS]
9751033
[_scrollView zoomToRect:rect animated:animated];
1034+
#else // [macOS
1035+
[(RCTEnhancedScrollView *)_scrollView zoomToRect:rect animated:animated];
9761036
#endif // [macOS]
9771037
}
9781038

packages/rn-tester/Podfile.lock

Lines changed: 65 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -2053,82 +2053,82 @@ SPEC CHECKSUMS:
20532053
boost: cea1d4f90a3a59537f3deb03ff5656489d7133dd
20542054
DoubleConversion: d31b1eb37f6d6f456530c4fd9124b857d6889cab
20552055
fast_float: 5596a99716f77fe44b617183d4db34777538174d
2056-
FBLazyVector: 0a3f4ff238f4a5a12df1ce799726fbae48b3219a
2056+
FBLazyVector: 44382081e96f46a71c738bce8397d51f86fc0cb4
20572057
fmt: 24e7591456deb60b4a77518f83d9a916ac84223f
20582058
glog: 0b31c25149b9d350b2666c7d459229861a00ec07
2059-
hermes-engine: cc8feeacabc5b95002c368a555a173cddafb29c5
2059+
hermes-engine: 9b033746b84dd3782beba1ee78de2d8ce709e5e1
20602060
MyNativeView: 012965daf7594f221bfe8f48c3a6be88dc926ec7
20612061
NativeCxxModuleExample: d89bddc6be7c578088d4c441e1de365cca37d369
20622062
OCMock: 589f2c84dacb1f5aaf6e4cec1f292551fe748e74
20632063
OSSLibraryExample: d57a46a4520f0964e36b3ac349cb37404a469ae3
20642064
RCT-Folly: 957ce397c08be7a9a91bb9245e57e69fa5255ec5
20652065
RCTDeprecation: 3808e36294137f9ee5668f4df2e73dc079cd1dcf
2066-
RCTRequired: 5c10a42787b18fabbacda1669d333270f78dfed1
2067-
RCTTypeSafety: 04629d6e8ee80c4ddb1bc2acb80b1ca88de284c9
2068-
React: ee7f072e1e2db3fd4da25483b3cb6868964aa7ed
2069-
React-callinvoker: 94acfd04af532e289b9e992fad6f71b0a1fb752f
2070-
React-Core: 7b58428f7a2c1a685713e3e14387a8f98da88e03
2071-
React-CoreModules: 5f97a14ece13839935df5ae9456db172f966c1f4
2072-
React-cxxreact: d152f08b17a34ae1ec345029cdc24919828bda88
2073-
React-debug: bd53bf62a49fe5858a569204c3df64dc0a3c0e6a
2074-
React-defaultsnativemodule: a59c04097aff0751a08745ef6aaa217ab1178be7
2075-
React-domnativemodule: 403a11dd566425a55d3bf58a13127a2c12c2afc7
2076-
React-Fabric: 0c8a6ce4745ccdc43aec6a664e496218d8bdfc33
2077-
React-FabricComponents: 4af2a2865dc407f5c2e75faa2734ba389461e4b4
2078-
React-FabricImage: 7ca716a0ed4dcf506fcdcd60986501c527cfcc6e
2079-
React-featureflags: 8a8f76aa906abe8a561c2e81569d159509a7b244
2080-
React-featureflagsnativemodule: f9330ce11a0cb7e1b51e30cc261add31294d93c2
2081-
React-graphics: aa9108bb694c9ddb04eb0cd8b9bd7c0c09de83a2
2082-
React-hermes: a10ae5b0156d75c05f4c737336cb593b2b27a2df
2083-
React-idlecallbacksnativemodule: c9fe93ba4f421319ad4bcd0d7131e0d3c510cbfb
2084-
React-ImageManager: cfbe01dd1d75ed9aa33c09c66e3e3f20970f4981
2085-
React-jserrorhandler: 099f5a111a9117e5cb7be4a31a151e2977ec20ef
2086-
React-jsi: f06232f271ddafb13d90bfecda92a84d29bb0d36
2087-
React-jsiexecutor: 445b0458ddf8920c995d96af05bc8d66b7fc138a
2088-
React-jsinspector: af8da9536a4e2402d65c47e01a64118628f067b4
2089-
React-jsinspectortracing: eef865f1f8db567faac91bb857a880f7eab7e2d0
2090-
React-jsitooling: 397f96aed700fd416ff6fe16ed88f4fa45c64ba2
2091-
React-jsitracing: b149f1f31dda23f0ba72151b0024964a76741fa7
2092-
React-logger: 51cdb2d4cb36b78f9f154dda2fdb1e7dba204765
2093-
React-Mapbuffer: bb17a086220da31233ca695abe63ca01dec40d82
2094-
React-microtasksnativemodule: ac413e56d6d81b77b9a1aae7ff1aad8afb6050c5
2095-
React-NativeModulesApple: db1a001d34e7f0e8b25dfefa2a2ce83b6a6442d9
2096-
React-oscompat: 825c3b67ca607307fc7493101bee3ec6c18b2ca7
2097-
React-perflogger: ad75d71af0ddce6ea06d6d47eae3151563a01b55
2098-
React-performancetimeline: 53df2b097c87eab5bb14ed00cab95be9f82e2f64
2099-
React-RCTActionSheet: a9fc70ec6783733305602ffb0cb9ab956221230e
2100-
React-RCTAnimation: cc7bff4261b79f6fbb2df431bf6c312690f6c40c
2101-
React-RCTAppDelegate: bd84d753358c4103b81d6fe33c1e64c844615516
2102-
React-RCTBlob: 80c0a82e1b20f05416636841f0f13cbe28c6df6d
2103-
React-RCTFabric: dd0221952b4cfafbe1d548e59272a48f5d7b233a
2104-
React-RCTFBReactNativeSpec: c3b76c04af6b9842ce62db58c670a756a45bdee1
2105-
React-RCTImage: f810320175a60490085043f6aa65f4e91c4fd42d
2106-
React-RCTLinking: 1a4ed8deb97f91b641bbe31c223a80d3bfa040b2
2107-
React-RCTNetwork: bd30579e9d1b20708525428d6f1a44c1adfdcf5f
2108-
React-RCTPushNotification: 85664072a6ed949dbc244440a60be24f201eee2b
2109-
React-RCTRuntime: e7a1a5d3c48065d96e351f20b521c3e1e01cd55f
2110-
React-RCTSettings: 65a4df3015d7fd9c6efc455f0df9de8a48001b88
2111-
React-RCTTest: 0ee2333eb05005b100ce25749e3b3dfca40908f7
2112-
React-RCTText: d633a9c03fca2a1a228a0ede5e340169bb851618
2113-
React-RCTVibration: 0deb664da65c4302963a8c2d6f23995059341fea
2114-
React-rendererconsistency: 00316a8639306ac717d62d2874b885088cde31d4
2115-
React-renderercss: f11c56e70856232f2d34ab96df245a674a2ba769
2116-
React-rendererdebug: 12d895f5fae069c25aa0c33a138ddd3f308fd8f2
2117-
React-rncore: a0871316bff44288ba62c1374b6e9093717dbc89
2118-
React-RuntimeApple: 29d74569f8f83a2e98b73a532d063250a5170347
2119-
React-RuntimeCore: 54235f3ab77822160c01fa7ab543f3ea512e56e6
2120-
React-runtimeexecutor: a3ea35a56f73642ff5c888869e3e5eecd842f8c9
2121-
React-RuntimeHermes: 9f0c0fd0b045d2ee552ad96044be15e76a1b7485
2122-
React-runtimescheduler: 5d60a6ef3abdba3b0f688eacd3a106a45f09c334
2123-
React-timing: ba0ea02d49e288be015576fc217184a521f3508d
2124-
React-utils: 3101cddb3c50406b3949fe36e8fad34609dd561c
2125-
ReactAppDependencyProvider: 4d000089a4f20b7df5b5849581808301af186297
2066+
RCTRequired: 8b5657cd3f0964db8c144c4671a33be6d11a3e1c
2067+
RCTTypeSafety: 1e5e62856d3f2d39585d33a6e32a9d8995d4e83a
2068+
React: 2a12fbbf1220579c018b7d8a47080222a26ed118
2069+
React-callinvoker: 4cdcd40ec49bc3b8ccb0d239dad6ec64019895b5
2070+
React-Core: 15cba5db651be7dee6f3f906370a59074c394b05
2071+
React-CoreModules: 331da0c5cb4e1795f808b1f645b8939c4c4ea7e2
2072+
React-cxxreact: 3b1767504528f1ab8f97226f9e7bebd016e7c404
2073+
React-debug: 78e10ab02e783d3ba3f6491106aa23726dfd64a8
2074+
React-defaultsnativemodule: b69289c57709740fbf7423abe85c963239e02f60
2075+
React-domnativemodule: 28619057fa3e5669be50bcec1dd735be43951a42
2076+
React-Fabric: 51a71bad6e998935a20c8583001e78a0e0b46c9f
2077+
React-FabricComponents: b10f2567e8e9ad9c422f08fba87b7f804f02a407
2078+
React-FabricImage: 7b2fa6abf253bdb0f1b174d69ef6b4cc8304c2dc
2079+
React-featureflags: 4d2cdde342cccc574c2ac2481814b9642ff30a01
2080+
React-featureflagsnativemodule: d5814d09c1f91266925f24b6999e2f9ee572c97f
2081+
React-graphics: d8dc955396ac81759dac5146166d8cc6326092a6
2082+
React-hermes: cef4044d63ba6acd64e09c068743451aded166cd
2083+
React-idlecallbacksnativemodule: 45e771039892c0da1f9a8bb925d3c6fe4a237dc8
2084+
React-ImageManager: 69f922728b6020d8d971cb36673ebc1f1c2728fa
2085+
React-jserrorhandler: 812c3bb0344675811da25a50129bc501c5ee8b0f
2086+
React-jsi: 88f4c91df2c3f03f4ac68964da6d5e1858470235
2087+
React-jsiexecutor: 345c8c2db0be464f01dbb1ff47a9305cee456809
2088+
React-jsinspector: 698e0859888fde3d062710dd04ffe61786246905
2089+
React-jsinspectortracing: 4062130e33b904fe0f695284419a7e755e1351bc
2090+
React-jsitooling: eb67a4a94cb8823a2f2ae0c46e252be6a4bf3ca1
2091+
React-jsitracing: 15463a241b918d86357bf8a797371c8ffbc3e90e
2092+
React-logger: a7a98e47561ac71ea3bdae8a91d56b460a6c4f12
2093+
React-Mapbuffer: 0f0726a76db02dba9d33cb799159e20c6c598e92
2094+
React-microtasksnativemodule: 1686a61660b3277b4ba232dbdcf67a31c264eb50
2095+
React-NativeModulesApple: 0afd425a4c9e60f7e803871aabb3185edecf9c70
2096+
React-oscompat: f2a3dbd55d56c1c8b1cfc4055e3471dae908ae5b
2097+
React-perflogger: a9a8a533a81346becd4edf9d463f7dabcf98515a
2098+
React-performancetimeline: b6116878825de4e1aacf153f399539708db100a9
2099+
React-RCTActionSheet: 1e05f37ad70a37478796e3cbb235e9c138bbf78b
2100+
React-RCTAnimation: 1155e7c79c3b7aabae3dea0ad245c40b907c8b28
2101+
React-RCTAppDelegate: 759341b414cb8b5c3f7422f90e2362a2671c7df0
2102+
React-RCTBlob: 4bfdf2b6b31ea0fbe97849b3cf61d84c9c56a3bb
2103+
React-RCTFabric: 7c7029e174cb318c69f1665a448c6e2b5d05e91a
2104+
React-RCTFBReactNativeSpec: f3d5de17a3b3aae5de1ab9deff80dd097971a45a
2105+
React-RCTImage: cde888d415651273b6c90326dab0b5f85f4a8d19
2106+
React-RCTLinking: e3c716617e2e82dcb49b40c79ba38dcc82d2c107
2107+
React-RCTNetwork: 5fcbed0bf7c3952f192607b7856ba93c24dbf265
2108+
React-RCTPushNotification: 7a7172a8de3f88cf5de570ae1b9bc58375b3964a
2109+
React-RCTRuntime: 6672a55b38bf2b6de9c42814e76b623dc5b561c3
2110+
React-RCTSettings: 936d661cf58aed03be9fea4273a17dc986d1e6ab
2111+
React-RCTTest: a09285e3f1ec38d3093dec27a1bfeea4c47ce2c1
2112+
React-RCTText: a237773566a7eee4f887565cf145b804d59c5918
2113+
React-RCTVibration: 45cbd6cda93c93a160b38a3fb09d58ce9a1894cc
2114+
React-rendererconsistency: bad2b491a07a96a5c22ff2410db8d23c9a05ab94
2115+
React-renderercss: 1f7bbba0c1fe5f2fdd1e2307efd44183513f2ab1
2116+
React-rendererdebug: 9972e728b2cdda1924b8fa17df7a5e82f25958d2
2117+
React-rncore: 203b29c2a357fc2a6c690d14f542f280e84327aa
2118+
React-RuntimeApple: bd6861731f57b6df5bb944830007a58313f2777e
2119+
React-RuntimeCore: 658c8603d48eb38996af4eb4d0372eaeef814f2b
2120+
React-runtimeexecutor: 6e9696710638bfc1d73613c1d179f01af8f15450
2121+
React-RuntimeHermes: f27574e3867fb2cc761b1e4dc98eeb979f5aed47
2122+
React-runtimescheduler: 066fc8b2007452bbcc74710253611535accb1c86
2123+
React-timing: 65dc765cc132ae62d1a267187dc26ca6574efff9
2124+
React-utils: 82b609f9143d5633a3746c07631f1a428b2c5895
2125+
ReactAppDependencyProvider: 6c068adfe5c90fa82adc6b9c125426eab799f6a6
21262126
ReactCodegen: 0082198e27eef7ce13bf03680eb9d15bbde56601
2127-
ReactCommon: ccca86fc30847bda1f64f6d8f84a596a4ce02f26
2128-
ReactCommon-Samples: feac96a466176d8aa790a5ae4e6076d66f437ffc
2127+
ReactCommon: e064aec31bd703fa3b050461f9cb4d7baa0aa312
2128+
ReactCommon-Samples: d788c435538070b736315e3fd3b68564f6bb5d05
21292129
ScreenshotManager: c96f07e207c96f5d91080e408aff95df63875dae
21302130
SocketRocket: a1845ec01e17d55e3da5df40600892972afb45e1
2131-
Yoga: 1cff0cfbf14d209e21b2f3b023de56f24b43b6fd
2131+
Yoga: efed9b3eddbe1c2adea2ceac6724eae220e12478
21322132

21332133
PODFILE CHECKSUM: 07eddbe098f0e50aff590a91207f692788a9fe4c
21342134

0 commit comments

Comments
 (0)