Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle null params in the Interop TM layer #49873

Closed
wants to merge 1 commit into from

Conversation

cipolleschi
Copy link
Contributor

Summary:
In the old architecture, when we were passing a null value as a parameter in a function that accepted nullable parameter, the null value was mapped to nil on iOS.

After my changes in d4236791e2, in the New Architecture, through the interop layer, legacy modules were receiving an NSNull object instead of nil.

This was breaking those modules which started crashing or observing undesired behavior.

This change fixes the issue by making sure that, in those cases, a nil value is passed.

Note that nested objects in the old architecture were correctly receiving NSNull, so nested objects were behaving correctly already.

Changelog:

[iOS][Fixed] - Properly pass nil for nullable parameters instead of NSNull for legacy modules

Differential Revision: D70723460

@facebook-github-bot facebook-github-bot added CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. p: Facebook Partner: Facebook Partner labels Mar 6, 2025
Summary:
In the old architecture, when we were passing a `null` value as a parameter in a function that accepted nullable parameter, the null value was mapped to `nil` on iOS.

After my changes in [d423679](facebook@d423679), in the New Architecture, through the interop layer, legacy modules were receiving an `NSNull` object instead of nil.

This was breaking those modules which started crashing or observing undesired behavior.

This change fixes the issue by making sure that, in those cases, a `nil` value is passed.

Note that nested objects in the old architecture were correctly receiving NSNull, so nested objects were behaving correctly already.

## Changelog:
[iOS][Fixed] - Properly pass `nil` for nullable parameters instead of `NSNull` for legacy modules

Differential Revision: D70723460
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D70723460

@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D70723460

@facebook-github-bot
Copy link
Contributor

This pull request has been merged in 619d5df.

@facebook-github-bot facebook-github-bot added the Merged This PR has been merged. label Mar 7, 2025
@react-native-bot
Copy link
Collaborator

This pull request was successfully merged by @cipolleschi in 619d5df

When will my fix make it into a release? | How to file a pick request?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged This PR has been merged. p: Facebook Partner: Facebook Partner
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants