Run the snapshot comparison on CI (#56207)#56207
Closed
j-piasecki wants to merge 20 commits intofacebook:mainfrom
Closed
Run the snapshot comparison on CI (#56207)#56207j-piasecki wants to merge 20 commits intofacebook:mainfrom
j-piasecki wants to merge 20 commits intofacebook:mainfrom
Conversation
|
@j-piasecki has exported this pull request. If you are a Meta employee, you can view the originating Diff in D96101927. |
j-piasecki
added a commit
to j-piasecki/react-native
that referenced
this pull request
Mar 25, 2026
Summary: Changelog: [Internal] Differential Revision: D96101927
5cb05e5 to
98c6aa4
Compare
98c6aa4 to
0838582
Compare
j-piasecki
added a commit
to j-piasecki/react-native
that referenced
this pull request
Mar 25, 2026
Summary: Changelog: [Internal] Differential Revision: D96101927
0838582 to
3e4aeb9
Compare
j-piasecki
added a commit
to j-piasecki/react-native
that referenced
this pull request
Mar 25, 2026
Summary: Changelog: [Internal] Differential Revision: D96101927
j-piasecki
added a commit
to j-piasecki/react-native
that referenced
this pull request
Mar 25, 2026
Summary: Pull Request resolved: facebook#56207 Changelog: [Internal] Differential Revision: D96101927
3e4aeb9 to
d91c227
Compare
j-piasecki
added a commit
to j-piasecki/react-native
that referenced
this pull request
Mar 25, 2026
Summary: Pull Request resolved: facebook#56207 Changelog: [Internal] Differential Revision: D96101927
d91c227 to
c7802c3
Compare
j-piasecki
added a commit
to j-piasecki/react-native
that referenced
this pull request
Mar 26, 2026
Summary: Pull Request resolved: facebook#56207 Changelog: [Internal] Reviewed By: cipolleschi Differential Revision: D96101927
c7802c3 to
4428b76
Compare
j-piasecki
added a commit
to j-piasecki/react-native
that referenced
this pull request
Mar 26, 2026
Summary: Pull Request resolved: facebook#56207 Changelog: [Internal] Reviewed By: cipolleschi Differential Revision: D96101927
4428b76 to
ebb3f05
Compare
j-piasecki
added a commit
to j-piasecki/react-native
that referenced
this pull request
Mar 26, 2026
Summary: Pull Request resolved: facebook#56207 Changelog: [Internal] Reviewed By: cipolleschi Differential Revision: D96101927
ebb3f05 to
e199ae9
Compare
added 6 commits
March 31, 2026 04:30
Summary: This diff introduces initial snapshots of the Cxx public API in a form of a couple .api files, namely: - ReactAndroidDebugCxx.api - ReactAndroidReleaseCxx.api - ReactAppleDebugCxx.api - ReactAppleReleaseCxx.api - ReactCommonDebugCxx.api - ReactCommonReleaseCxx.api that is for `ReactAndroid`, `ReactApple`, and shared `ReactCommon` in two variants `Release` and `Debug` each. Differential Revision: D97296573
Summary: Pull Request resolved: facebook#56042 Adds CI workflow for validating whether the current C++ API snapshot is equivalent with the generated one. Changelog: [Internal] Differential Revision: D95963515
Summary: Removes leaked test code from the snapshot. Changelog: [Internal] Differential Revision: D97457090
Summary: Refactor and add global exclude patterns to the C++ stable API snapshot config. This enables better modularization of shared exclude patterns coming from the assumption that ReactAndroid and ReactApple consists of ReactCommon in their inputs and some paths should not be processed on each platform. Changelog: [Internal] Differential Revision: D97465431
Summary: Removes fantom test specific methods, namely: - NativeFantomTestSpecificMethods, - FantomForcedCloneCommitHook from the C++ API snapshot. Changelog: [Internal] Differential Revision: D97466201
Summary: Removes stubs from the snapshot which should be irrelevant in context of the public surface. Changelog: [Internal] Differential Revision: D97478132
added 13 commits
March 31, 2026 04:30
Differential Revision: D98289956
…zations Summary: Doxygen incorrectly merges base classes from primary templates into their partial specializations. In C++, a specialization's inheritance list completely replaces the primary template's, but Doxygen combines both into a single basecompoundref list. - **Contradictory type traits** — is_optional<std::optional<T>> and is_variant_of_data_types<std::variant<Ts...>> showed inheritance from both std::false_type (primary) and std::true_type (specialization) - **Duplicate base classes** — Converter<jsi::Object> listed ConverterBase<jsi::Object> twice (once from the primary template after substitution, once from the specialization) This diff fixes both issues with two complementary mechanisms: - **Dedup-by-name (Extendable._deduplicate_base_classes)**: removes exact duplicate base classes, keeping the last occurrence. Handles cases where Doxygen's template argument substitution produces identical names. - **Primary template base subtraction (StructLikeScopeKind._remove_merged_primary_bases)**: for partial specializations, looks up the primary template among sibling scopes and performs count-based subtraction of its bases. Count-based (rather than set-based) subtraction correctly preserves bases that a specialization explicitly re-inherits from the same class as the primary. Changelog: [Internal] Differential Revision: D98291360
Differential Revision: D98292820
Summary: There are cases in which we want to strip particular symbols from the snapshot. This diff adds `exclude_symbols` to the parser config to enable definitions of symbol patterns that should be excluded from the snapshot. Changelog: [Internal] Differential Revision: D98295409
Summary: Strips remaining Fantom symbols from the public API snapshots. Changelog: [Internal] Differential Revision: D98295521
Summary: Modifies C++ API parser config to accept `exclude_symbols` at the platform level and sets `Android` symbols to be excluded from the ReactApple snapshot. Chagnelog: [Internal] Differential Revision: D98298766
Summary: Removes feature flags from the C++ public API snapshots as they are considered private. This greatly reduces snapshots size. Changelog: [Internal] Differential Revision: D98312529
Summary: Excluded symbols that contain "UnstableLegacy" from public stable C++ API snapshot, that is `UnstableLegacyViewManagerAutomaticComponentDescriptor` and `UnstableLegacyViewManagerInteropComponentDescriptor`. Changelog: [Internal] Differential Revision: D98317003
Summary: Excludes symbols marked as Experimental from the C++ public API snapshots. Types with the "Experimental" prefix are explicitly not stable API — they represent features still under active development and are subject to change or removal without notice. Changelog: [Internal] Differential Revision: D98454721
Summary: Prevents iOS Switch component leaking into the ReactAndroid snapshot by adding `*/components/switch/iosswitch/*` path to the `exclude_patterns` in the parser config. Changelog: [Internal] Differential Revision: D98473064
Summary: Excludes InputAccessory which is an iOS-only component with no Android support at any layer. In the `InputAccessoryView.js` there is explicit iOS guard which logs warning on Android. Changelog: [Internal] Differential Revision: D98478125
Summary: Excludes iOS-specific symbols from the ReactAndroid C++ API snapshot. The snapshot contains iOS native modules CxxSpec templates, their data structs, and bridging structs that have no relevance on Android. These symbols leaked because the Android codegen generates CxxSpec templates for ALL JavaScript module specs regardless of platform. Changelog: [Internal] Differential Revision: D98480080
Summary: Renames flag for verifying that the C++ public API snapshot is with sync with the actual public API surface to match the JS API command. Changelog: [Internal] Differential Revision: D98484129
e199ae9 to
54f7a2b
Compare
j-piasecki
added a commit
to j-piasecki/react-native
that referenced
this pull request
Mar 31, 2026
Summary: Pull Request resolved: facebook#56207 Changelog: [Internal] Reviewed By: cipolleschi Differential Revision: D96101927
j-piasecki
added a commit
to j-piasecki/react-native
that referenced
this pull request
Mar 31, 2026
Summary: Pull Request resolved: facebook#56207 Changelog: [Internal] Reviewed By: cipolleschi Differential Revision: D96101927
54f7a2b to
1a402e9
Compare
Summary: Pull Request resolved: facebook#56207 Changelog: [Internal] Reviewed By: cipolleschi Differential Revision: D96101927
1a402e9 to
0b937b1
Compare
Collaborator
|
This pull request was successfully merged by @j-piasecki in 3b634bc When will my fix make it into a release? | How to file a pick request? |
|
This pull request has been merged in 3b634bc. |
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:
Changelog: [Internal]
Reviewed By: cipolleschi
Differential Revision: D96101927