Skip to content

feat: Generate incremental Nitro View prop setters - #1504

Draft
mrousavy wants to merge 1 commit into
feat/view-props-iterator-fast-pathfrom
feat/view-props-setter
Draft

feat: Generate incremental Nitro View prop setters#1504
mrousavy wants to merge 1 commit into
feat/view-props-iterator-fast-pathfrom
feat/view-props-setter

Conversation

@mrousavy

Copy link
Copy Markdown
Owner

Summary

  • generate the concrete nonvirtual setProp hook for React Native 0.87+
  • always chain ViewProps::setProp before dispatching Nitro props
  • use the React Native 32-bit prop hash macros
  • convert directly from RawValue while preserving JSI functions, HybridObjects, and cached identity
  • reset optional props on null or undefined and reject required-prop removal with a labeled error
  • generate filtered Android initializeDynamicProps support
  • strengthen the View harness to remove and re-add the exact same hybridRef callback

This PR depends on feat/view-props-iterator-fast-path and activates its changed-key-only clone path.

Validation

  • React Native 0.87 Nitro CMake target build with HasIteratorSetterCtor enabled
  • React Native 0.85 iOS and Android native builds
  • full Nitro View harness on iOS 18.4: 6 of 6 passing
  • full Nitro View harness on Android API 35: 6 of 6 passing
  • workspace typecheck, lint, deterministic generation, and native formatting

@vercel

vercel Bot commented Aug 19, 2026

Copy link
Copy Markdown

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

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

Request Review

@mrousavy
mrousavy force-pushed the feat/view-props-setter branch from c230b91 to 420a5f0 Compare August 20, 2026 09:03
@mrousavy
mrousavy force-pushed the feat/view-props-iterator-fast-path branch from e7534a3 to b46aafb Compare August 20, 2026 09:03
@mrousavy
mrousavy changed the base branch from feat/view-props-iterator-fast-path to main August 20, 2026 09:03
@mrousavy
mrousavy changed the base branch from main to feat/view-props-iterator-fast-path 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 feat/view-props-setter branch from 420a5f0 to 95c6689 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 feat/view-props-setter branch from 95c6689 to ada1ea0 Compare August 20, 2026 09:49
@mrousavy
mrousavy force-pushed the feat/view-props-iterator-fast-path branch 2 times, most recently from d24de78 to 97a9060 Compare August 20, 2026 09:55
@mrousavy
mrousavy force-pushed the feat/view-props-setter branch from ada1ea0 to a3fd9d7 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 feat/view-props-setter branch from a3fd9d7 to 9da557e Compare August 20, 2026 10:03
@mrousavy
mrousavy force-pushed the feat/view-props-setter branch from 9da557e to a049b02 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 feat/view-props-iterator-fast-path branch from 54430bc to bde3cf5 Compare August 20, 2026 10:59
@mrousavy
mrousavy force-pushed the feat/view-props-setter branch from a049b02 to b9727eb Compare August 20, 2026 10:59
@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 feat/view-props-setter branch from b9727eb to c823af0 Compare August 20, 2026 11:42
@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 force-pushed the feat/view-props-setter branch from c823af0 to 21595ed Compare August 20, 2026 12:08
@mrousavy
mrousavy force-pushed the feat/view-props-setter branch from 21595ed to a970ec4 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 feat/view-props-iterator-fast-path branch from 20570c0 to dd84733 Compare August 20, 2026 13:40
@mrousavy
mrousavy force-pushed the feat/view-props-setter branch from a970ec4 to 82ce712 Compare August 20, 2026 13:40
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