Skip to content

feat(iOS): Enable synchronous screen shadow state updates by default#3931

Merged
kmichalikk merged 3 commits intomainfrom
@kmichalikk/enable-synchronous-screen-updates
Apr 28, 2026
Merged

feat(iOS): Enable synchronous screen shadow state updates by default#3931
kmichalikk merged 3 commits intomainfrom
@kmichalikk/enable-synchronous-screen-updates

Conversation

@kmichalikk
Copy link
Copy Markdown
Contributor

@kmichalikk kmichalikk commented Apr 23, 2026

Description

This PR changes the default value for synchronousScreenUpdatesEnabled flag to true

Changes

Updated default values for the flag in native hierarchy & JS.

Before & after - visual documentation

N/A

Test plan

See #3282

Checklist

  • Included code example that can be used to test this change.
  • For visual changes, included screenshots / GIFs / recordings documenting the change.
  • For API changes, updated relevant public types.
  • Ensured that CI passes

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Enables synchronous screen shadow state updates by default (via synchronousScreenUpdatesEnabled = true) to improve iOS behavior for Fabric/native stack scenarios that benefit from immediate state propagation.

Changes:

  • Flips the default for synchronousScreenUpdatesEnabled to true in the JS feature flags.
  • Updates Fabric codegen defaults so synchronousShadowStateUpdatesEnabled defaults to true for RNSScreen and RNSModalScreen.
  • Sets the iOS native screen view’s internal default (_synchronousShadowStateUpdatesEnabled) to YES.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/flags.ts Changes the JS feature flag default to enable synchronous screen updates by default.
src/fabric/ScreenNativeComponent.ts Updates Fabric codegen default prop for synchronous shadow state updates on RNSScreen.
src/fabric/ModalScreenNativeComponent.ts Updates Fabric codegen default prop for synchronous shadow state updates on RNSModalScreen.
ios/RNSScreen.mm Sets the native iOS default for _synchronousShadowStateUpdatesEnabled to enabled.
FabricExample/App.tsx Aligns the example app’s flag configuration with the new default.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread ios/RNSScreen.mm
@kmichalikk kmichalikk force-pushed the @kmichalikk/enable-synchronous-screen-updates branch from b435347 to eee2e5e Compare April 28, 2026 11:32
@kmichalikk kmichalikk merged commit 223820b into main Apr 28, 2026
8 checks passed
@kmichalikk kmichalikk deleted the @kmichalikk/enable-synchronous-screen-updates branch April 28, 2026 12:19
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.

4 participants