@@ -17,6 +17,43 @@ TypeScript/UI worklets.
1717
1818## Latest Update - 2026-06-30
1919
20+ ### 2026-06-30 00:32 EDT - preserved init receivers use native-object round-trip keys
21+
22+ - Scope check:
23+ - This is still generic NativeScript JS-subclass construction/runtime identity
24+ work for PR #46. It is not React Native Screens-specific and does not touch
25+ the original `refactor` branch's direct-engine backend goal.
26+ - Simulator-only rule remains active; no physical devices were used.
27+ - CI finding:
28+ - GitHub Actions run `28419724124` on `ca530965` built successfully but failed
29+ macOS tests before iOS ran.
30+ - The single failure was
31+ `InheritanceTests.js ExposeVariadicSelector`: a native call into a
32+ JS-exposed selector returned a wrapper for the same native object, but not
33+ the identical JS object expected by `toBe(object)`.
34+ - The alloc/init constructor path exposed that initializer-preserved wrappers
35+ were being stored in the round-trip cache without the native-object class
36+ validation key used by ordinary native return marshalling.
37+ - Change:
38+ - Added `NativeApiBridge::rememberNativeObjectRoundTripValue(...)`, which
39+ stores persistent native-object wrapper identity with the same validation key
40+ that `makeNativeObjectValue`/native return conversion later requires.
41+ - `preservedNativeApiInitializerSelfReturn` now uses that helper when
42+ re-establishing the original JS receiver after native `init` returns `self`.
43+ - Source coverage guards that preserved initializer receivers use the
44+ native-object round-trip path rather than the unvalidated generic path.
45+ - Verification:
46+ - Runtime RN JS tests passed:
47+ `for f in packages/react-native/test/*.test.js; do node "$f" || exit 1; done`.
48+ - `git diff --check` passed.
49+ - `npm run check:ffi-boundaries` passed.
50+ - `npm run build:macos-cli` passed.
51+ - Still next:
52+ - Commit/push this identity-cache correction and watch fresh PR CI. macOS
53+ should get past `InheritanceTests.js ExposeVariadicSelector`; iOS then needs
54+ to prove whether the zero-argument alloc/init constructor path fixes
55+ `ApiTests.js NSMutableArrayMethods`.
56+
2057### 2026-06-30 00:10 EDT - JS subclasses use remembered alloc/init construction
2158
2259- Scope check:
0 commit comments