@@ -17,6 +17,55 @@ TypeScript/UI worklets.
1717
1818## Latest Update - 2026-06-30
1919
20+ ### 2026-06-30 06:42 EDT - RNS selected tab paint and modal background parity
21+
22+ - Scope check:
23+ - Stayed on the RN module / Fabric / TurboModule / worklets branch work in
24+ the `react-native-screens` fork. No direct-engine backend refactor drift
25+ and no RNS-specific native ObjC/Swift implementation.
26+ - Simulator-only rule remains active; verification used the dedicated port
27+ and original simulators only.
28+ - Fixes in the screens fork:
29+ - `NativeScriptTabs.ios.tsx` now performs the selected-tab reconcile during
30+ explicit UIKit tab selection when the selected view is marked for
31+ post-selection touch/content repair. The reconcile runs before selected-tab
32+ accessibility publication and forces embedded stack content refresh for
33+ that one marked selection.
34+ - `ScreenStackItem.tsx` now copies iOS NativeScript modal/non-push
35+ `contentStyle.backgroundColor` to the native screen surface while keeping
36+ it on the content wrapper, so short modal content does not expose a white
37+ lower sheet area.
38+ - `NativeScriptScreenStack.ios.tsx` now carries the copied
39+ `nativeScriptScreenBackgroundColor` into the TS/UIKit stack primitive and
40+ applies it to the controller view plus registered content wrapper during
41+ screen normalization.
42+ - A broad content-wrapper display flush experiment was reverted because it
43+ made modal pixels draw the stale UIKit tab surface even though AX state was
44+ alive.
45+ - Pixel/simulator evidence:
46+ - After a clean relaunch via
47+ `nativescriptuikitdemo://expo-development-client/?url=http%3A%2F%2F127.0.0.1%3A8082`,
48+ UIKit -> React Nav visibly rendered the Home body instead of the previous
49+ header-only blank state.
50+ - Detail route pixels and header custom-view tap passed; screenshot
51+ `/tmp/rns-port-detail-header-after-native-bg-prop.png` shows both the
52+ header pill and body counter at `1`.
53+ - Modal route pixels match original lower-sheet background again:
54+ `/tmp/rns-port-modal-after-native-bg-prop.png` and
55+ `/tmp/rns-original-modal.png` both sample `(470,1800)`,
56+ `(470,1900)`, and `(470,1300)` as `246,247,251,255`.
57+ - Compact comprehensive stress passed on the port simulator
58+ `BF759806-2EBB-49ED-AD8E-413A7790ADE0`:
59+ `hotTab=1x[0]`, `immediate=1`, `duplicate=1`, `gesture=1`,
60+ `modal=1`, `header=1`, `menu=1`, `customHeader=1`.
61+ - The same compact shape passed on the original simulator
62+ `3931FD88-6C29-44AA-BD73-4A40C4334B5B`.
63+ - Source verification:
64+ - Full RNS Jest passed: `333/333`.
65+ - RNS TypeScript passed: `npm run check-types`.
66+ - RNS `git diff --check` passed.
67+ - Port and original demo `npm run typecheck` both passed.
68+
2069### 2026-06-30 04:33 EDT - JS prototype accessors suppress native accessor re-entry
2170
2271- Scope check:
0 commit comments