Skip to content

feat: Add incremental Nitro View prop clone path - #1505

Draft
mrousavy wants to merge 1 commit into
fix/view-props-preserve-native-defaultsfrom
feat/view-props-iterator-fast-path
Draft

feat: Add incremental Nitro View prop clone path#1505
mrousavy wants to merge 1 commit into
fix/view-props-preserve-native-defaultsfrom
feat/view-props-iterator-fast-path

Conversation

@mrousavy

@mrousavy mrousavy commented Aug 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • add a Nitro-local React Native 0.87+ clone path
  • copy the previous immutable Props snapshot
  • iterate only RawProps keys present in the patch
  • dispatch each key through the concrete Props setProp method
  • preserve filtered Android dynamic props initialization
  • retain the classic JSI constructor for older React Native versions and older generated Nitro Props

The branch is dormant until a concrete generated Props class provides setProp in the next PR. It does not require apps to enable the global experimental React Native feature flag.

This draft PR is intentionally kept at the back of the stack and depends on #1510.

Validation

  • generated Android C++ syntax checks against React Native 0.79, 0.85, 0.86, and 0.87 headers
  • React Native 0.87 Nitro CMake target build
  • React Native 0.85 iOS and Android native builds

Note

With the global React Native iterator flag disabled, React Native can still perform its one-time RawPropsParser preparation in the descriptor constructor. This PR removes repeated per-update parsing for Nitro Props, not that startup cost.

@vercel

vercel Bot commented Aug 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
nitro-docs Ready Ready Preview Aug 20, 2026 1:40pm

Request Review

@mrousavy
mrousavy force-pushed the feat/view-props-iterator-fast-path branch from e7534a3 to b46aafb Compare August 20, 2026 09:03
@mrousavy
mrousavy force-pushed the fix/view-props-classic-fallback branch from 59443a3 to 101f501 Compare August 20, 2026 09:03
@mrousavy
mrousavy changed the base branch from fix/view-props-classic-fallback to main August 20, 2026 09:03
@mrousavy
mrousavy changed the base branch from main to fix/view-props-classic-fallback August 20, 2026 09:13
@mrousavy
mrousavy force-pushed the feat/view-props-iterator-fast-path branch from b46aafb to dffc712 Compare August 20, 2026 09:22
@mrousavy
mrousavy force-pushed the fix/view-props-classic-fallback branch from 101f501 to 03c3396 Compare August 20, 2026 09:22
@mrousavy
mrousavy marked this pull request as ready for review August 20, 2026 09:27
@mrousavy
mrousavy force-pushed the feat/view-props-iterator-fast-path branch from dffc712 to c92c85c Compare August 20, 2026 09:49
@mrousavy
mrousavy force-pushed the fix/view-props-classic-fallback branch from 03c3396 to b38fce7 Compare August 20, 2026 09:49
@mrousavy
mrousavy changed the base branch from fix/view-props-classic-fallback to fix/view-props-immutable-delivery August 20, 2026 09:49
@mrousavy
mrousavy force-pushed the fix/view-props-immutable-delivery branch from 3023902 to 618c153 Compare August 20, 2026 09:51
@mrousavy
mrousavy force-pushed the feat/view-props-iterator-fast-path branch from c92c85c to d24de78 Compare August 20, 2026 09:51
@mrousavy
mrousavy force-pushed the feat/view-props-iterator-fast-path branch from d24de78 to 97a9060 Compare August 20, 2026 09:55
@mrousavy
mrousavy force-pushed the fix/view-props-immutable-delivery branch from 618c153 to 57a084b Compare August 20, 2026 09:55
@mrousavy
mrousavy force-pushed the feat/view-props-iterator-fast-path branch from 97a9060 to 3bf0c5f Compare August 20, 2026 10:03
@mrousavy
mrousavy force-pushed the fix/view-props-immutable-delivery branch from 57a084b to 92a547d Compare August 20, 2026 10:03
@mrousavy
mrousavy force-pushed the fix/view-props-immutable-delivery branch from 92a547d to 55d8ec0 Compare August 20, 2026 10:06
@mrousavy
mrousavy force-pushed the feat/view-props-iterator-fast-path branch from 3bf0c5f to 54430bc Compare August 20, 2026 10:06
@mrousavy
mrousavy force-pushed the fix/view-props-immutable-delivery branch from 55d8ec0 to d9d0521 Compare August 20, 2026 10:59
@mrousavy
mrousavy force-pushed the feat/view-props-iterator-fast-path branch from 54430bc to bde3cf5 Compare August 20, 2026 10:59
@mrousavy
mrousavy force-pushed the fix/view-props-immutable-delivery branch from d9d0521 to 76ae359 Compare August 20, 2026 11:42
@mrousavy
mrousavy force-pushed the feat/view-props-iterator-fast-path branch from bde3cf5 to cdc344c Compare August 20, 2026 11:42
@mrousavy
mrousavy force-pushed the fix/view-props-immutable-delivery branch from 76ae359 to ed178ea Compare August 20, 2026 11:48
@mrousavy
mrousavy marked this pull request as draft August 20, 2026 12:02
@mrousavy
mrousavy force-pushed the feat/view-props-iterator-fast-path branch from cdc344c to f3dc26e Compare August 20, 2026 12:08
@mrousavy
mrousavy changed the base branch from fix/view-props-immutable-delivery to fix/view-props-preserve-native-defaults August 20, 2026 12:08
@mrousavy
mrousavy force-pushed the fix/view-props-preserve-native-defaults branch 2 times, most recently from 45ce42c to 8f831ab Compare August 20, 2026 13:12
@mrousavy
mrousavy force-pushed the feat/view-props-iterator-fast-path branch from f3dc26e to 20570c0 Compare August 20, 2026 13:12
@mrousavy
mrousavy force-pushed the fix/view-props-preserve-native-defaults branch from 8f831ab to 79fec0c Compare August 20, 2026 13:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant