-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
RFC: Yoga Errata Policy #1247
Labels
Comments
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 25, 2023
Summary: This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Differential Revision: D45254098 fbshipit-source-id: a1c286cfcec6260c39ee6108fe7cd644527367a5
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 25, 2023
Summary: This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Differential Revision: D45254098 fbshipit-source-id: 6033a7ee82afcf8b7142ec8817fdf4505597b693
This was referenced Apr 25, 2023
Closed
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 25, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 5736fe13337e737f0c0ffa59349520f7eedd5fd1
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 25, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 6a3c872bd5f17c67119849f98e83a399ceb8f5a9
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 25, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 366f7d7413150b8dccabb7f7b62be21e5b2dfd31
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 25, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 4a766025e85f8da28006864e624e60bbe377a5c0
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 25, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 1bc37dfb464dfe0c6eba366e3dabbf62bc4e2315
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 25, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: d0721f8150891ed541bd2fe06f1c0ce17adda100
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 25, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 287b12f8df38e0735dea102b3437ab89cbca3d22
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 25, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 869cafce77517f07b8e4d6a5eddc50fcc1418203
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 25, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 8c434eef4398982f142abd35ac8c580ec0992d7a
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 25, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 13da0d1251d5b9ccd01c0723dc122d051cf29d18
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 25, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 27552632fbadc5ebf7f8b731b1c1cf98ed9f472d
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 25, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 25b3f66364fd19413ea9c8d225f556e19c0bbd28
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 26, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 8144cd0904fe2f47b3ebf5ebede3cff0d67ba1d3
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 26, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 2eb713fca08254ebb93ddb0c873e564503f56327
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 26, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 4471715fbd1e3110972091077fdc5208002b0da9
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 26, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 58dbc9bed760d477458092de4e240ca123806bbf
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 26, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: b6c3ca2e87a8221b72c157b2959085e95d0b4fce
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 26, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: bd2502ad4adebaeb79b01075f68a364af4b82301
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 26, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 11512392b3d363a1204360ee09cffd5bb2602dbb
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 26, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 57095d6c82b649ac6b55ac4afdbbc84d6349f3b7
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 26, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 7080fdf9212287c3c84b06fcc592591b04b711b0
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 26, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: eb3f00c9827815134927886a26eb26a0c3598727
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 26, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 547fe89b47438cdc3bbf6e70b44b375f3e488af0
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 27, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: d56a8ad71987eea116f8960f681b45ea057b59e0
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 27, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 8c9966ffcfc07d75a93818ded0a2f11e5f0ee19c
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 27, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 33838e5a1acde8488adb628d8e8691344ad2a4bd
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 27, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 243ec7350c199c969332d608303d6af4ac16416d
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 27, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: b1f57c9aedff9040ce05706f1ce8a3bbae64a68a
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 27, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: ea0660479e9557ceda064c3e6fcc5f535daa7cbb
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 27, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: f53fd2299736f92168051d7b26e2e237efd99bea
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 27, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 2d1cb3d046d3aa0a5e1bc540251cf90bcf602a5e
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 27, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 144c9ecf0845a5a6ede704e4fa6353edc4b1cc00
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 27, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 86aa19509f1850fa2254495cd52080683a717d35
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 27, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 76bdab8038f3930a062064af9e96a9c2a7016db2
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 27, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 15db2a6f99359d320ddb9c6d21880cb9715cf6dc
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 27, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: c122037bae72ae4bf3c3e30e2f212aeb18368e27
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 27, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 4c013a5d9492371404e0956a8fe836ec6ea9e1ba
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 27, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: cc028b878d4c24e1b58ba026d87af8f19267c51c
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 27, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 91faea8356d2ac1758ed6e23b05c45aef366debd
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 27, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: db3e496d98c610a2397ed41ded07cad72709aa23
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 27, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 462641b3d7554d617a8bb0f08febe9d033578386
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 27, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: af5881c57b634399e0cb650150072149779bbf9f
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 27, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: a3b21a5bbe727ac4842bd2a4bf88c5285803510c
NickGerleman
added a commit
to NickGerleman/yoga
that referenced
this issue
Apr 27, 2023
Summary: Pull Request resolved: facebook#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 55cf5a0e0859a4ce17e3f3a6481a0afe549b6e55
NickGerleman
added a commit
to NickGerleman/react-native
that referenced
this issue
Apr 27, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: 599e99faa5399361431e131c7453f197ee8457ff
facebook-github-bot
pushed a commit
that referenced
this issue
Apr 27, 2023
Summary: Pull Request resolved: #1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in #1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: d4b61271a8018f548f2d9d8c953db4b121a502d1
facebook-github-bot
pushed a commit
to facebook/react-native
that referenced
this issue
Apr 27, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: #37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: d4b61271a8018f548f2d9d8c953db4b121a502d1
facebook-github-bot
pushed a commit
to facebook/litho
that referenced
this issue
Apr 27, 2023
Summary: X-link: facebook/yoga#1256 X-link: facebook/react-native#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: d4b61271a8018f548f2d9d8c953db4b121a502d1
jeongshin
pushed a commit
to jeongshin/react-native
that referenced
this issue
May 7, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: d4b61271a8018f548f2d9d8c953db4b121a502d1
OlimpiaZurek
pushed a commit
to OlimpiaZurek/react-native
that referenced
this issue
May 22, 2023
Summary: X-link: facebook/yoga#1256 Pull Request resolved: facebook#37076 This adds a `YGErrata` bitset enum matching the API and guarantees described in facebook/yoga#1247. It is hooked up in later diffs. There are a couple of `YGExperimentalFeature` values that belong here, but keeping the current options means that the default `YGErrataNone` corresponds to existing default behavior, letting us stage the series of changes as: 1. Implement errata API 2. Update internal Yoga users we want to de-risk to `YGErrataClassic` or `YGErrataAll` (if setting `UseLegacyStretchBehaviour`) 3. Add new errata, changing Yoga defaults to be conformant, while letting internal apps opt into compatibility modes pending experimentation. I also added a macro to let C++ users of Yoga perform bitwise operations on the enum without casting (already available for C users). Reviewed By: rshest Differential Revision: D45254098 fbshipit-source-id: d4b61271a8018f548f2d9d8c953db4b121a502d1
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Our ability to implement even known-good changes has been limited by a concern of bug-compatibility, where a more conformant behavior may break existing product code. There have been one-off approached to handling this (e.g.
UseLegacyStretchBehaviour
), but a goal of the Yoga M1 release is to formalize guarantees around how these sorts of changes will be handled in the future. More concretely, the Yoga M1 release will include a formal errata policy and API, replacing existing flags, and setting a reproducible process for adding new behavior changes.Any new behavior changes must initially be implemented as a new branch in code, guarded by an “errata” setting, alongside checks which mark whether the erratum would have created a different layout result as part of the
YGLayout
. Yoga with default configuration will prefer the correct behavior, but this can be customized.Leaving branches for every bug-fix adds long-term cost, so errata are subject to removal if experimentation (telemetry) show that a behavior change is very rarely hit in real-world applications. This is validated by:
Errata handling is independent of the existing
YGExperimentalFeature
mechanism for feature-gating. Changes under feature-gates, or not yet present in a stable Yoga release, are not subject to the errata policy. This allows iteration during development.While not a bug in the same vein as other errata, a similar approach, under a separate API, would make sense to allow moving the default behavior to that of
UseWebDefaults()
.APIs
YGErrata
Enum bit-set of known implementation issues. They may be used to set or query behavior related to bug compatibility. The flags are not stable, and are subject to change as errata are fixed globally in the main implementation.
Examples:
YGErrataNone
: No errataYGErrataAll
: All errataYGErrataStretchBasis
: Equivalent to previousUseLegacyStretchBehaviour
YGErattaClassic
: All errata apart fromYGErrataStretchBasis
(matches current default Yoga behavior)YGConfigSetErrata
Sets the list of layout behaviors to rely on when laying out a specific node.
YGNodeLayoutAffectedByErrata
Queries whether the layout of a specific node was impacted by an errata, meaning an errata branch was taken, and the layout result would be different if it was not taken. Only one node is marked by errata branch. I.e. the children of a node will not be marked as effected if an errata caused a parent node layout to change.
The text was updated successfully, but these errors were encountered: