AAP-18921: RN 0.80 reflection field-name fix (cherry-pick of upstream PR #4812)#5
Open
sriteja777 wants to merge 2 commits intorelease-20.38.0-cloud.1from
Open
AAP-18921: RN 0.80 reflection field-name fix (cherry-pick of upstream PR #4812)#5sriteja777 wants to merge 2 commits intorelease-20.38.0-cloud.1from
sriteja777 wants to merge 2 commits intorelease-20.38.0-cloud.1from
Conversation
RN 0.80 renamed several Android-side fields that Detox accesses via reflection. Cherry-picks upstream wix/Detox PR #4812 onto this fork so that: - NetworkingModuleReflected uses `client` for RN >0.79, else `mClient` - JavaTimersReflected uses `reactHost`/`javaTimerManager` for RN >0.79 and `reactInstance` for RN >0.80, else the legacy `m*` names Behaviour is unchanged for RN <=0.79; this unblocks customers on RN 0.80+ who hit `NoSuchFieldException: mClient` at Detox init. Bumps version to 20.38.0-cloud.2. Refs: AAP-18921, wix/Detox#4812
The DetoxNpmPackagePublish Jenkins job (per Confluence Detox Release Process) is what bumps the version to x.y.z-cloud.X at publish time. Source on release-20.38.0-cloud.1 has always been "20.38.0" without the suffix. Reverting the two package.json version changes. Refs: AAP-18921
darshilgada24
approved these changes
May 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes
NoSuchFieldException: mClienton RN 0.80+ by version-branching the Kotlin reflection field names that React Native renamed in 0.80.Cherry-picks the relevant 2 of 3 Kotlin file changes from upstream wix/Detox PR #4812 (Detox 20.43.0). The 3rd file (
AnimatedModuleIdlingResource.kt) doesn't apply because the fork's version is structurally different — it doesn't reflect intomOperationsat all.Bumps version to
20.38.0-cloud.2.Jira: AAP-18921
Customer FD: 1611572 (group_id 8836399)
Upstream reference: wix/Detox#4812
Behaviour
Runtime version-branched via
ReactNativeInfo.rnVersion():NetworkingModule.clientmClientclientclientReactContext.reactHostmReactHostreactHostreactHostReactInstance.javaTimerManagermJavaTimerManagerjavaTimerManagerjavaTimerManagerReactHost.reactInstancemReactInstancemReactInstancereactInstanceBehaviour for RN ≤ 0.79 is identical to before the patch — existing customers unaffected.
Files changed
detox/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/network/NetworkingModuleReflected.kt—+11/-2detox/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/timers/JavaTimersReflected.kt—+22/-3detox/package.json— version bump to20.38.0-cloud.2package.json— version bump to20.38.0-cloud.2Test plan
:detox:testFullDebugUnitTest— 116/116 pass, build successfulnpm run build:android— aar publishes cleanly to local Maven reponpm pack— tarball produced (browserstack-detox-20.38.0-cloud.2.tgz, 858 KB)examples/demo-react-native(RN 0.77.2) on BS Detox cloud (Pixel 7 / Android 13): both suites passFIELD_OKHTTP_CLIENT_PRE80constant present)Release
Publish via Jenkins
DetoxNpmPackagePublish(or manualnpm publishfromdetox/) once approved. Tag20.38.0-cloud.2.