Skip to content

Conversation

@coado
Copy link
Contributor

@coado coado commented Oct 24, 2025

Differential Revision: D85247248

Summary

In this diff the RCTBundleConfiguration is set on the RCTReactNativeFactory and passed down to the RCTHost instance where it is set on the bundle manager. The diff prepares bundle config for final usage by packager connection and bundle loader.

Changelog

[IOS][CHANGED] - Add RCTBundleConfiguration property on RCTReactNativeFactory and pass it down to RCTHost.

Test Plan

Test plan included in the last diff in the stack.

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Oct 24, 2025
@meta-codesync
Copy link

meta-codesync bot commented Oct 24, 2025

@coado has exported this pull request. If you are a Meta employee, you can view the originating Diff in D85247248.

@facebook-github-bot facebook-github-bot added the p: Facebook Partner: Facebook label Oct 24, 2025
coado added a commit to coado/react-native that referenced this pull request Oct 24, 2025
…d pass it down to the `RCTHost` (facebook#54256)

Summary: Pull Request resolved: facebook#54256

Differential Revision: D85247248
@coado coado changed the title iOS: Set RCTCustomBundleConfiguration on RCTReactNativeFactory and pass it down to the RCTHost iOS: Set RCTBundleConfiguration on RCTReactNativeFactory and pass it down to the RCTHost Oct 24, 2025
coado added a commit to coado/react-native that referenced this pull request Oct 24, 2025
… it down to the `RCTHost` (facebook#54256)

Summary:


## Summary

In this diff the `RCTBundleConfiguration` is set on the `RCTReactNativeFactory` and passed down to the `RCTHost` instance where it is set on the bundle manager. The diff prepares bundle config for final usage by packager connection and bundle loader.

Differential Revision: D85247248
coado and others added 2 commits October 27, 2025 09:38
…acebook#54006)

Summary:
## Summary:

Following the [RFC](react-native-community/discussions-and-proposals#933), this PR introduces a new `RCTBundleConfiguration` interface for modifying the bundle URL and exposes a new API for setting its instance in the `RCTReactNativeFactory`. The configuration object includes:

- bundleFilePath - the URL of the bundle to load from the file system,
- packagerServerScheme - the server scheme (e.g. http or https) to use when loading from the packager,
- packagerServerHost - the server host (e.g. localhost) to use when loading from the packager.

The `RCTBundleConfiguration` allows only for either `bundleFilePath` or `(packagerServerScheme, packagerServerHost)` to be set by defining appropriate initializers. 

The logic for creating bundle URL query items is extracted to a separate `createJSBundleURLQuery` method and is used by `RCTBundleManager` to set the configured `packagerServerHost` and `packagerServerScheme`. If the configuration is not defined, the `getBundleURL` method returns the result of the passed `fallbackURLProvider`.

The `bundleFilePath` should be created with `[NSURL fileURLWithPath:<path>]`, as otherwise the HMR client is created and fails ungracefully. The check is added in the `getBundle` method to log the error beforehand:

<img width="306" height="822" alt="Simulator Screenshot - iPhone 16 Pro - 2025-10-15 at 17 09 58" src="https://github.com/user-attachments/assets/869eed16-c5d8-4204-81d7-bd9cd42b2223" />

When the `bundleFilePath` is set in the `RCTBundleConfiguration` the `Connect to Metro...` message shouldn't be suggested.

## Changelog:

[IOS][ADDED] - Add new `RCTBundleConfiguration` for modifying bundle URL on `RCTReactNativeFactory`.


Test Plan: Test plan included in the last diff in the stack.

Differential Revision: D84058022

Pulled By: coado
… it down to the `RCTHost` (facebook#54256)

Summary:


## Summary

In this diff the `RCTBundleConfiguration` is set on the `RCTReactNativeFactory` and passed down to the `RCTHost` instance where it is set on the bundle manager. The diff prepares bundle config for final usage by packager connection and bundle loader.

Differential Revision: D85247248
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 meta-exported p: Facebook Partner: Facebook p: Software Mansion Partner: Software Mansion Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants