@@ -17,6 +17,47 @@ TypeScript/UI worklets.
1717
1818## Latest Update - 2026-06-30
1919
20+ ### 2026-06-30 01:44 EDT - JS subclass getters prefer prototype accessors before ObjC runtime getters
21+
22+ - Scope check:
23+ - Still on the RN-module branch, still fixing generic NativeScript runtime
24+ behavior exposed by RN module work, and still not touching the original
25+ `refactor` direct-engine backend goal.
26+ - Simulator-only rule remains active; no physical devices were used.
27+ - CI finding:
28+ - GitHub Actions run `28421961031` on `3b7a492c` kept macOS green and no
29+ longer timed out on iOS.
30+ - The previous iOS blocker passed:
31+ `ApiTests.js NSMutableArrayMethods => passed`.
32+ - The iOS suite completed with one remaining failure:
33+ `ApiTests.js SpecialCaseProperty_When_CustomSelector_ImplementedInJS`.
34+ - The failure output was a long repetition of `getter`, showing that a native
35+ runtime property getter was re-entering the JS override instead of serving
36+ the JS prototype accessor directly.
37+ - Change:
38+ - JS-extended object property reads now resolve JS prototype getters before
39+ falling back to runtime Objective-C property getters on every backend.
40+ - This keeps JS-owned accessors in JS and prevents an ObjC getter implemented
41+ by the same JS subclass from recursively re-entering the accessor.
42+ - Source coverage guards the tracked runtime bridge and the RN mirror.
43+ - Verification:
44+ - Focused construction/property guard test passed:
45+ `node packages/react-native/test/runtime-instance-selector-base-dispatch.test.js`.
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+ - Existing generated macOS project compile/link passed with
51+ `xcodebuild -project dist/intermediates/macos/NativeScript.xcodeproj ...`.
52+ - Full local `npm run test:ios` remains blocked by local host tooling:
53+ `scripts/build_metadata_generator.sh` tries to link an x86_64 metadata
54+ generator against an arm64-only Xcode libclang on this machine. CI remains
55+ the simulator source of truth for iOS.
56+ - Still next:
57+ - Commit/push this prototype-getter precedence fix and watch fresh PR CI.
58+ Expected result: macOS remains green and iOS clears the last
59+ `SpecialCaseProperty_When_CustomSelector_ImplementedInJS` failure.
60+
2061### 2026-06-30 01:13 EDT - guard JS callbacks during subclass construction
2162
2263- Scope check:
0 commit comments