Skip to content

Commit 10ffdf7

Browse files
WoLewickikkafar
andauthored
chore: remove not necessary workaround for ScrollView from RN 76 (#2350)
## Description <!-- Description and motivation for this PR. Include Fixes #<number> if this is fixing some issue. Fixes # . --> Due to fixes in RN 0.76 (facebook/react-native@b98b9f1 and facebook/react-native@c6f3282) our workaround seems to not be necessary anymore. Would be nice to check if it works in RN 0.76 on both archs before merging it 😄 --------- Co-authored-by: Kacper Kafara <[email protected]>
1 parent 0aee693 commit 10ffdf7

File tree

3 files changed

+71
-94
lines changed

3 files changed

+71
-94
lines changed

Example/ios/Podfile.lock

Lines changed: 61 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -2713,77 +2713,77 @@ SPEC CHECKSUMS:
27132713
fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd
27142714
glog: 5683914934d5b6e4240e497e0f4a3b42d1854183
27152715
hermes-engine: 4f8246b1f6d79f625e0d99472d1f3a71da4d28ca
2716-
RCT-Folly: 846fda9475e61ec7bcbf8a3fe81edfcaeb090669
2716+
RCT-Folly: 59ec0ac1f2f39672a0c6e6cecdd39383b764646f
27172717
RCTDeprecation: c4b9e2fd0ab200e3af72b013ed6113187c607077
27182718
RCTRequired: e97dd5dafc1db8094e63bc5031e0371f092ae92a
27192719
RCTTypeSafety: 720403058b7c1380c6a3ae5706981d6362962c89
27202720
React: f1486d005993b0af01943af1850d3d4f3b597545
27212721
React-callinvoker: 133f69368c8559e744efa345223625d412f5dfbe
2722-
React-Core: 559823921b4f294c2840fa8238ca958a29ddc211
2723-
React-CoreModules: c41e7bbfabbc420783bb926f45837a0d5e53341e
2724-
React-cxxreact: 9cb9fa738274a1b36b97ede09c8a6717dec1a20b
2722+
React-Core: d6d8c1fd33697cec596d33b820456505ee305686
2723+
React-CoreModules: 81ab751a7668ba161440f9623b994e1a6a3019fe
2724+
React-cxxreact: 16f2a2751d0dce8b569f23c1914edc90f655b01b
27252725
React-debug: e01581e1589f329e61c95b332bf7f4969b10564b
2726-
React-defaultsnativemodule: bbb39447caa6b6cf9405fa0099f828c083640faa
2727-
React-domnativemodule: 03744d12b6d56d098531a933730bf1d4cb79bdfb
2728-
React-Fabric: 530b3993a12a96e8a7cdb9f0ef48e605277b572e
2729-
React-FabricComponents: 271ec2a9b2c00ac66fd6d1fd24e9e964d907751d
2730-
React-FabricImage: d0af66e976dbab7f8b81e36dd369fc70727d2695
2731-
React-featureflags: 269704c8eff86e0485c9d384e286350fcda6eb70
2732-
React-featureflagsnativemodule: db1e5d88a912fb08a5ece33fcf64e1b732da8467
2733-
React-graphics: b19d03a01b0722b4dc82f47acb56dc3ed41937e7
2734-
React-hermes: 811606c0aca5a3f9c6fa8e4994e02ca8f677e68e
2735-
React-idlecallbacksnativemodule: 3a3df629cd50046c7e4354f9025aefe8f2c84601
2736-
React-ImageManager: 0d53866c63132791e37bb2373f93044fdef14aa3
2737-
React-jserrorhandler: d5700d6ab7162fd575287502a3c5d601d98e7f09
2738-
React-jsi: ece95417fedbed0e7153a855cb8342b7c72ab75e
2739-
React-jsiexecutor: 2b0bb644b533df2f5c0cd6ade9a4560d0bf1dd84
2740-
React-jsinspector: 0c160f8510a8852bdf2dac12f0b1949efc18200b
2741-
React-jsinspectorcdp: f4b84409f453f61ddd8614ad45139bc594ec6bb5
2742-
React-jsinspectornetwork: 8f2f0ca8c871ca19b571f426002c0012e7fb2aee
2743-
React-jsinspectortracing: 33f6b977eb8a4bc1e3d1a4b948809aca083143f9
2744-
React-jsitooling: 2c61529b589e17229a9f0a4a4fc35aa7ad495850
2745-
React-jsitracing: 838a7b0c013c4aff7d382d7fdc78cf442013ba1d
2746-
React-logger: 7aef4d74123e5e3d267e5af1fbf5135b5a0d8381
2747-
React-Mapbuffer: 91e0eab42a6ae7f3e34091a126d70fc53bd3823e
2748-
React-microtasksnativemodule: 1ead4fe154df3b1ba34b5a9e35ef3c4bdfa72ccb
2749-
react-native-restart: 0bc732f4461709022a742bb29bcccf6bbc5b4863
2750-
react-native-safe-area-context: 12c7daa0ea4fa4eeb513fc273fac6b47aa332bd6
2751-
React-NativeModulesApple: eff2eba56030eb0d107b1642b8f853bc36a833ac
2726+
React-defaultsnativemodule: e956b1d8fe15cc79d23061db229bf88170565f2f
2727+
React-domnativemodule: a18b0f7a31b9c75f12fa369baece5542d1265b36
2728+
React-Fabric: c0237a32c3c0dbea2d2b294c8e95605e1dfe2f57
2729+
React-FabricComponents: 65b03884bd5d9f24c79a631d7d26f0fa079bc4aa
2730+
React-FabricImage: de1ea2f2a0b32ad02e5cbb64827d1eec0439cf0d
2731+
React-featureflags: 02de9c35256cc624269b01d670d99e1fd706ea8d
2732+
React-featureflagsnativemodule: 8b84e67edbaa7b9318390c5bd3ae19790a74f356
2733+
React-graphics: 004b40c1b236ea3bb8de6693439bef9797922ba9
2734+
React-hermes: 2179a018b2f86652f6f33ef23efd9e5ac284b247
2735+
React-idlecallbacksnativemodule: f54ea68f984b12e42feed1e7110623b2c38df4d1
2736+
React-ImageManager: 9dd04b7b62bc5397f876ca5fb1b712e700ce390c
2737+
React-jserrorhandler: 2f90bf50fffea1d012e7f3d717c6adf748b1813d
2738+
React-jsi: b27208f8866e53238534f65f304903e4eff25e05
2739+
React-jsiexecutor: 1d3e827797f592c393860dea91aaa6d53c7715e7
2740+
React-jsinspector: bda319277ae779bc476b736fe3a497c6aed304cd
2741+
React-jsinspectorcdp: 69e1736edfd5420037680b7b4557fa748c3c8216
2742+
React-jsinspectornetwork: 7aa707b057c6129b4af59e0c9160436bbab25022
2743+
React-jsinspectortracing: b4a8a328ad2697f9638daa4b7cc054e0303fa47f
2744+
React-jsitooling: a6c7e2829437b28665e97a398b3374d443125e24
2745+
React-jsitracing: d87ae17dd0eef7844e605945da926c5433fe2b51
2746+
React-logger: d27dd2000f520bf891d24f6e141cde34df41f0ee
2747+
React-Mapbuffer: 0746ffab5ac0f49b7c9347338e3d0c1d9dd634c8
2748+
React-microtasksnativemodule: b0fb3f97372df39bda3e657536039f1af227cc29
2749+
react-native-restart: 7595693413fe3ca15893702f2c8306c62a708162
2750+
react-native-safe-area-context: 8e0068b78eb531d8ba5c113cc0d1e516a5313be6
2751+
React-NativeModulesApple: 9ec9240159974c94886ebbe4caec18e3395f6aef
27522752
React-oscompat: b12c633e9c00f1f99467b1e0e0b8038895dae436
2753-
React-perflogger: 58d12c4e5df1403030c97b9c621375c312cca454
2754-
React-performancetimeline: 0ee0a3236c77a4ee6d8a6189089e41e4003d292e
2753+
React-perflogger: ccf4fd2664b00818645e588623c7531a8b32d114
2754+
React-performancetimeline: a866ba759d8e06e9ba174b4421677edcae487baf
27552755
React-RCTActionSheet: 3f741a3712653611a6bfc5abceb8260af9d0b218
2756-
React-RCTAnimation: 408ad69ea136e99a463dd33eadecc29e586b3d72
2757-
React-RCTAppDelegate: 4d5bf77492e4801324f8602272ae5bc9cdcff524
2758-
React-RCTBlob: bd42e92a00ad22eaab92ffe5c137e7a2f725887a
2759-
React-RCTFabric: 66f3591e9c1625ebb710da39a2658420045be706
2760-
React-RCTFBReactNativeSpec: fe771b3d4429dd82df7cc32216e33075f5f4a7ad
2761-
React-RCTImage: 0f1c74f7cd20027f8c34976a211b35d4263a0add
2762-
React-RCTLinking: 6d7dfc3a74110df56c3a73cc7626bf4415656542
2763-
React-RCTNetwork: 6a25d8645a80d5b86098675ca39bf8fcf1afa08b
2764-
React-RCTRuntime: a1e7f9f012252ef5980719b319df360c8e96444c
2765-
React-RCTSettings: 651d9ae2cdd32f547ad0d225a2c13886d6ad2358
2766-
React-RCTText: 9bc66cd288478e23195e01f5cb45eba79986b2b4
2767-
React-RCTVibration: 371226f5667a00c76d792dcdb5c2e0fcbcde0c3b
2756+
React-RCTAnimation: 2edeebfba175cc2e937e2752209ab605d3c48f21
2757+
React-RCTAppDelegate: a99ef112d5f199aba910c14e046e9dbc7fe89f75
2758+
React-RCTBlob: 8dfb24b6dd4a5af45e1e59e2fd925b2df1e44d08
2759+
React-RCTFabric: 2cb67c67e545c6ec76a853861aa275983fe5aca4
2760+
React-RCTFBReactNativeSpec: 174272d8db878578a7d282b137ccc2da4776877c
2761+
React-RCTImage: c7fe8c2f2ae8bad98ab4d944d5d50a889da4b652
2762+
React-RCTLinking: 9ac21ce9f1af914bb01c06af3752db2ec840d0ee
2763+
React-RCTNetwork: 09a5de71d757dbad4b3fe3615839290200b932aa
2764+
React-RCTRuntime: 5072e1dbb1ff6d455f0013db6f25d1fdba5f1844
2765+
React-RCTSettings: fee112652ac7569ea9abe910206e1685f5f9adba
2766+
React-RCTText: 7ee9d0bc16b3a8149f8df6d70c48e724d0db1d89
2767+
React-RCTVibration: 619d613abaeb05f6fbc2b2e5e33f724f05df8eb8
27682768
React-rendererconsistency: a05f6c37f9389c53213d1e28798e441fa6fbdbcd
2769-
React-renderercss: 6e4febfa014b0f53bc171a62b0f713ddbdbb9860
2770-
React-rendererdebug: e94bf27b9d55ef2795caa8e43aa92abc4a373b8b
2771-
React-RuntimeApple: 723be5159519eba1cd92449acb29436d21571b82
2772-
React-RuntimeCore: f58eb0f01065c9d27d91de10b2e4ab4c76d83b0e
2773-
React-runtimeexecutor: f615ec8742d0b5820170f7c8b4d2c7cb75d93ac9
2774-
React-RuntimeHermes: fddb258e03d330d1132bb19e78fe51ac2f3f41ac
2775-
React-runtimescheduler: e92a31460e654ced8587debeec37553315e1b6a5
2776-
React-timing: 97ada2c47b4c5932e7f773c7d239c52b90d6ca68
2777-
React-utils: f0949d247a46b4c09f03e5a3cb1167602d0b729a
2778-
ReactAppDependencyProvider: 3eb9096cb139eb433965693bbe541d96eb3d3ec9
2779-
ReactCodegen: 4d203eddf6f977caa324640a20f92e70408d648b
2780-
ReactCommon: ce5d4226dfaf9d5dacbef57b4528819e39d3a120
2781-
RNGestureHandler: 12a436b5074378be95468a57b62c165a1e24cfc9
2782-
RNReanimated: 488bbae315509dec258dc50e8625b34d3d449aec
2783-
RNScreens: a7111235a0bbc4b3c59869919ccffd4313851c8a
2769+
React-renderercss: 3decb27a81648fcdee837c59994b51fff5be5a67
2770+
React-rendererdebug: 3b9a92d36932af52e1b473f2a89ea4b05dbdecdf
2771+
React-RuntimeApple: 4e35fb74be4b721c2e1fd6d54ec66456fa7043e9
2772+
React-RuntimeCore: 0fd7ac6e3e9dd20cb47e87c6b9f35832dd445d5e
2773+
React-runtimeexecutor: 7680156c9f3a5a49c688bc33f9ec5ea1b00527f5
2774+
React-RuntimeHermes: 435b7104a3c749af6251353dcb7317a8e53cbd73
2775+
React-runtimescheduler: 8056b916168e446ea44531883928034e62e76a81
2776+
React-timing: 36da85e32e53008ce73f87528818191e7f2508ba
2777+
React-utils: 71e53d55ce778c6e7c7c9db4b1b9d63ef8f55289
2778+
ReactAppDependencyProvider: 448b422f8af1dedf81374eacc90a15439a0ed7f5
2779+
ReactCodegen: 3baedb0c33f963250c866151b825a3c5194b12f1
2780+
ReactCommon: e897f9a1b4afab370cfefaaf5fb3c80371bc3937
2781+
RNGestureHandler: 4e01eefc427d3af22b877fdb4f7bc826132daab6
2782+
RNReanimated: 1d9e9249c9e4222881b7107e52b52f4a9ee879b6
2783+
RNScreens: 1bc0ddb1a9c8dcc6f95afb87a3d038e3169a2f9e
27842784
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
27852785
Yoga: 11c9686a21e2cd82a094a723649d9f4507200fb0
27862786

2787-
PODFILE CHECKSUM: e1c705abfb728b259283bd3b94a9aaac16e72096
2787+
PODFILE CHECKSUM: 982c6f1aad6c7556894450f7e5ae4e1e6deafcf7
27882788

2789-
COCOAPODS: 1.16.2
2789+
COCOAPODS: 1.15.2

Example/ios/ScreensExample.xcodeproj/project.pbxproj

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -776,7 +776,10 @@
776776
ONLY_ACTIVE_ARCH = YES;
777777
OTHER_CFLAGS = "$(inherited)";
778778
OTHER_CPLUSPLUSFLAGS = "$(inherited)";
779-
OTHER_LDFLAGS = "$(inherited) ";
779+
OTHER_LDFLAGS = (
780+
"$(inherited)",
781+
" ",
782+
);
780783
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
781784
SDKROOT = iphoneos;
782785
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG";
@@ -839,7 +842,10 @@
839842
MTL_ENABLE_DEBUG_INFO = NO;
840843
OTHER_CFLAGS = "$(inherited)";
841844
OTHER_CPLUSPLUSFLAGS = "$(inherited)";
842-
OTHER_LDFLAGS = "$(inherited) ";
845+
OTHER_LDFLAGS = (
846+
"$(inherited)",
847+
" ",
848+
);
843849
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
844850
SDKROOT = iphoneos;
845851
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "";

ios/RNSScreen.mm

Lines changed: 2 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1723,10 +1723,7 @@ - (void)viewDidDisappear:(BOOL)animated
17231723

17241724
_isSwiping = NO;
17251725
_shouldNotify = YES;
1726-
#ifdef RCT_NEW_ARCH_ENABLED
1727-
#else
1728-
[self traverseForScrollView:self.screenView];
1729-
#endif
1726+
17301727
if (@available(iOS 26, *)) {
17311728
// Reenable interactions, see willMoveToWindow
17321729
[RNSScreenView.viewInteractionManagerInstance enableInteractionsForLastSubtree];
@@ -2188,33 +2185,7 @@ - (void)setViewToSnapshot
21882185
}
21892186
}
21902187

2191-
#else
2192-
#pragma mark - Paper specific
2193-
2194-
- (void)traverseForScrollView:(UIView *)view
2195-
{
2196-
if (![[self.view valueForKey:@"_bridge"] valueForKey:@"_jsThread"]) {
2197-
// we don't want to send `scrollViewDidEndDecelerating` event to JS before the JS thread is ready
2198-
return;
2199-
}
2200-
2201-
if ([NSStringFromClass([view class]) isEqualToString:@"AVPlayerView"]) {
2202-
// Traversing through AVPlayerView is an uncommon edge case that causes the disappearing screen
2203-
// to an excessive traversal through all video player elements
2204-
// (e.g., for react-native-video, this includes all controls and additional video views).
2205-
// Thus, we want to avoid unnecessary traversals through these views.
2206-
return;
2207-
}
2208-
2209-
if ([view isKindOfClass:[UIScrollView class]] &&
2210-
([[(UIScrollView *)view delegate] respondsToSelector:@selector(scrollViewDidEndDecelerating:)])) {
2211-
[[(UIScrollView *)view delegate] scrollViewDidEndDecelerating:(id)view];
2212-
}
2213-
[view.subviews enumerateObjectsUsingBlock:^(__kindof UIView *_Nonnull obj, NSUInteger idx, BOOL *_Nonnull stop) {
2214-
[self traverseForScrollView:obj];
2215-
}];
2216-
}
2217-
#endif
2188+
#endif // RCT_NEW_ARCH_ENABLED
22182189

22192190
@end
22202191

0 commit comments

Comments
 (0)