Closed
Conversation
|
@tsaichien has exported this pull request. If you are a Meta employee, you can view the originating Diff in D89093651. |
d055306 to
3f8b0e8
Compare
3f8b0e8 to
b422414
Compare
b422414 to
7ab120d
Compare
tsaichien
added a commit
to tsaichien/react-native
that referenced
this pull request
Jan 30, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Differential Revision: D89093651
tsaichien
added a commit
to tsaichien/react-native
that referenced
this pull request
Mar 5, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Reviewed By: lavenzg Differential Revision: D89093651
7ab120d to
875f233
Compare
tsaichien
added a commit
to tsaichien/react-native
that referenced
this pull request
Mar 16, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Reviewed By: lavenzg Differential Revision: D89093651
meta-codesync bot
pushed a commit
that referenced
this pull request
Mar 16, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Reviewed By: lavenzg Differential Revision: D89093651
tsaichien
added a commit
to tsaichien/react-native
that referenced
this pull request
Mar 16, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Reviewed By: lavenzg Differential Revision: D89093651
tsaichien
added a commit
to tsaichien/react-native
that referenced
this pull request
Mar 16, 2026
Summary: Pull Request resolved: facebook#54923 After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Reviewed By: lavenzg Differential Revision: D89093651
875f233 to
d0cc8c6
Compare
meta-codesync bot
pushed a commit
that referenced
this pull request
Mar 18, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Reviewed By: lavenzg Differential Revision: D89093651
meta-codesync bot
pushed a commit
that referenced
this pull request
Mar 18, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Reviewed By: lavenzg Differential Revision: D89093651
meta-codesync bot
pushed a commit
that referenced
this pull request
Mar 18, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Reviewed By: lavenzg Differential Revision: D89093651
meta-codesync bot
pushed a commit
that referenced
this pull request
Mar 18, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Reviewed By: lavenzg Differential Revision: D89093651
meta-codesync bot
pushed a commit
that referenced
this pull request
Mar 18, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Reviewed By: lavenzg Differential Revision: D89093651
meta-codesync bot
pushed a commit
that referenced
this pull request
Mar 19, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Reviewed By: lavenzg Differential Revision: D89093651
d0cc8c6 to
013143a
Compare
tsaichien
added a commit
to tsaichien/react-native
that referenced
this pull request
Mar 19, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Reviewed By: lavenzg Differential Revision: D89093651
tsaichien
added a commit
to tsaichien/react-native
that referenced
this pull request
Mar 19, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Reviewed By: lavenzg Differential Revision: D89093651
013143a to
90cc820
Compare
128df20 to
cb412b1
Compare
tsaichien
added a commit
to tsaichien/react-native
that referenced
this pull request
Mar 31, 2026
Summary: Pull Request resolved: facebook#54923 After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Changelog: [Internal] Reviewed By: lavenzg Differential Revision: D89093651
cb412b1 to
8547803
Compare
tsaichien
added a commit
to tsaichien/react-native
that referenced
this pull request
Apr 14, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Changelog: [Internal] Reviewed By: lavenzg Differential Revision: D89093651
tsaichien
added a commit
to tsaichien/react-native
that referenced
this pull request
Apr 14, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Changelog: [Internal] Reviewed By: lavenzg Differential Revision: D89093651
8547803 to
b001433
Compare
tsaichien
added a commit
to tsaichien/react-native
that referenced
this pull request
Apr 14, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Changelog: [Internal] Reviewed By: lavenzg Differential Revision: D89093651
tsaichien
added a commit
to tsaichien/react-native
that referenced
this pull request
Apr 14, 2026
Summary: Pull Request resolved: facebook#54923 After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Changelog: [Internal] Reviewed By: lavenzg Differential Revision: D89093651
b001433 to
f8209e8
Compare
tsaichien
added a commit
to tsaichien/react-native
that referenced
this pull request
Apr 14, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Changelog: [Internal] Reviewed By: lavenzg Differential Revision: D89093651
f8209e8 to
5779ddf
Compare
tsaichien
added a commit
to tsaichien/react-native
that referenced
this pull request
Apr 14, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Changelog: [Internal] Reviewed By: lavenzg Differential Revision: D89093651
5779ddf to
8922dbb
Compare
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Changelog: [Internal] Reviewed By: lavenzg Differential Revision: D89093651
8922dbb to
3a45897
Compare
meta-codesync bot
pushed a commit
that referenced
this pull request
Apr 14, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Changelog: [Internal] Reviewed By: lavenzg Differential Revision: D89093651
meta-codesync bot
pushed a commit
that referenced
this pull request
Apr 14, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Changelog: [Internal] Reviewed By: lavenzg Differential Revision: D89093651
meta-codesync bot
pushed a commit
that referenced
this pull request
Apr 14, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Changelog: [Internal] Reviewed By: lavenzg Differential Revision: D89093651
tsaichien
added a commit
to tsaichien/react-native
that referenced
this pull request
Apr 15, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Changelog: [Internal] Reviewed By: lavenzg Differential Revision: D89093651
tsaichien
added a commit
to tsaichien/react-native
that referenced
this pull request
Apr 15, 2026
Summary: After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Changelog: [Internal] Reviewed By: lavenzg Differential Revision: D89093651
meta-codesync bot
pushed a commit
to facebook/hermes
that referenced
this pull request
Apr 15, 2026
Summary: X-link: facebook/react-native#54923 After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Changelog: [Internal] Reviewed By: lavenzg Differential Revision: D89093651 fbshipit-source-id: a4cbfc30b79986aec2db4c2dba3045ee59083de2
meta-codesync bot
pushed a commit
to facebook/hermes
that referenced
this pull request
Apr 15, 2026
Summary: X-link: facebook/react-native#54923 After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Changelog: [Internal] Reviewed By: lavenzg Differential Revision: D89093651 fbshipit-source-id: a4cbfc30b79986aec2db4c2dba3045ee59083de2
meta-codesync bot
pushed a commit
to facebook/hermes
that referenced
this pull request
Apr 15, 2026
Summary: X-link: facebook/react-native#54923 After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Changelog: [Internal] Reviewed By: lavenzg Differential Revision: D89093651 fbshipit-source-id: a4cbfc30b79986aec2db4c2dba3045ee59083de2
Collaborator
|
This pull request was successfully merged by @tsaichien in d16e95d When will my fix make it into a release? | How to file a pick request? |
|
This pull request has been merged in d16e95d. |
tsaichien
added a commit
to tsaichien/hermes
that referenced
this pull request
Apr 15, 2026
Summary: X-link: facebook/react-native#54923 After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Changelog: [Internal] Reviewed By: lavenzg Differential Revision: D89093651 fbshipit-source-id: a4cbfc30b79986aec2db4c2dba3045ee59083de2
tsaichien
added a commit
to tsaichien/hermes
that referenced
this pull request
Apr 15, 2026
Summary: X-link: facebook/react-native#54923 After reviewing the feasibility of adding new Runtime functionality, we realized the current state of `Runtime` makes it hard/inconvenient to add new basic functionality. It requires creating a new interface (e.g. `IRuntime2`) to declare the new APIs. Then, everywhere it is needed, both the original `Runtime` and `IRuntime2` needs to passed in to access both APIs. After discussion, we decided to introduce `IRuntime`, which will declare most of the `Runtime` functionalities. All "protected" APIs, which made sense before interfaces were introduced, will now be public. The protected static methods of `Runtime` will remain as is for the Friends to access. After we decided to cut "stable" (after incoming JSI improvements), new functionalities will be added in `IRuntime2` interface. `IRuntime2` will inherit `IRuntime` to make existing functionality easy to access. Changelog: [Internal] Reviewed By: lavenzg Differential Revision: D89093651 fbshipit-source-id: a4cbfc30b79986aec2db4c2dba3045ee59083de2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary:
After reviewing the feasibility of adding new Runtime functionality, we
realized the current state of
Runtimemakes it hard/inconvenient toadd new basic functionality. It requires creating a new interface (e.g.
IRuntime2) to declare the new APIs. Then, everywhere it is needed,both the original
RuntimeandIRuntime2needs to passed in to accessboth APIs.
After discussion, we decided to introduce
IRuntime, which will declaremost of the
Runtimefunctionalities. All "protected" APIs, which madesense before interfaces were introduced, will now be public. The
protected static methods of
Runtimewill remain as is for the Friendsto access.
After we decided to cut "stable" (after incoming JSI improvements), new
functionalities will be added in
IRuntime2interface.IRuntime2willinherit
IRuntimeto make existing functionality easy to access.Changelog: [Internal]
Reviewed By: lavenzg
Differential Revision: D89093651