Repository navigation
Conversation
|
Validated this fix from
The plugin tests, targeted lint and formatting pass. One useful addition is a test against React Native's installed version catalog so a future RN upgrade cannot silently leave this pin behind. I verified that this test fails when the force is changed to Suggested regression check for the existing test fileAdd these imports: import * as NodeFS from "node:fs";
import * as NodeModule from "node:module";
import * as NodePath from "node:path";Add this case inside the existing it("keeps the forced native library aligned with the installed React Native runtime", async () => {
const require = NodeModule.createRequire(import.meta.url);
const reactNativeRoot = NodePath.dirname(require.resolve("react-native/package.json"));
const versions = NodeFS.readFileSync(
NodePath.join(reactNativeRoot, "gradle/libs.versions.toml"),
"utf8",
);
const reactNativeFbjni = versions.match(/^fbjni\s*=\s*"([^"]+)"/m)?.[1];
expect(reactNativeFbjni).toBeDefined();
const generated = await transform(buildGradle);
const forcedFbjni = generated.match(
/resolutionStrategy\.force 'com\.facebook\.fbjni:fbjni:([^']+)'/,
)?.[1];
expect(forcedFbjni).toBe(reactNativeFbjni);
});Validation and test addition: GPT-6-Astra through the Codex harness in T3 Code. |
|
Thanks @andybergon for the thorough Android validation and the concrete regression suggestion. I added the installed React Native version-catalog check to |
|
Note Written by Hi! We are cleaning up open PRs, and this one appears to have been created with an older model ( |
Problem
Fresh Android dependency resolution can select
fbjni:0.8.1throughreact-native-shiki-engine's floatingfbjni:+request. That NDK 28 binary is incompatible with React Native 0.86.3's NDK 27 C++ runtime and can crash before JavaScript starts.Fix
com.facebook.fbjni:fbjni:0.7.0, matching React Native 0.86.3.Fixes #13710.
Verification
The issue has independent device/build confirmation that forcing 0.7.0 restores the expected dependency graph and launch behavior. This branch adds the config-plugin regression test; local execution was not available from this GitHub-only session, so this is opened as a draft for CI verification.
Model: GPT-5.6 Sol. Harness: ChatGPT.
Credit / provenance
fbjni:+resolving to 0.8.1. This PR turns that report into a pinned, testable build invariant.