diff --git a/.github/workflows/test-all.yml b/.github/workflows/test-all.yml index f996181295832a..38997c2a2aba36 100644 --- a/.github/workflows/test-all.yml +++ b/.github/workflows/test-all.yml @@ -439,11 +439,11 @@ jobs: uses: ./.github/actions/build-android with: release-type: ${{ needs.set_release_type.outputs.RELEASE_TYPE }} - run-e2e-tests: ${{ github.ref == 'refs/heads/main' || contains(github.ref, 'stable') || inputs.run-e2e-tests }} + run-e2e-tests: true # ${{ github.ref == 'refs/heads/main' || contains(github.ref, 'stable') || inputs.run-e2e-tests }} gradle-cache-encryption-key: ${{ secrets.GRADLE_CACHE_ENCRYPTION_KEY }} test_e2e_android_rntester: - if: ${{ github.ref == 'refs/heads/main' || contains(github.ref, 'stable') || inputs.run-e2e-tests }} + # if: ${{ github.ref == 'refs/heads/main' || contains(github.ref, 'stable') || inputs.run-e2e-tests }} runs-on: 4-core-ubuntu needs: [build_android] strategy: diff --git a/packages/react-native/ReactCommon/react/renderer/components/image/ImageProps.cpp b/packages/react-native/ReactCommon/react/renderer/components/image/ImageProps.cpp index 7067f1e15ec361..7be2be3b5fa763 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/image/ImageProps.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/image/ImageProps.cpp @@ -174,7 +174,7 @@ void ImageProps::setProp( } } -#ifdef RN_SERIALIZABLE_STATE +#ifdef ANDROID static folly::dynamic convertImageSource(const ImageSource& imageSource) { folly::dynamic imageSourceResult = folly::dynamic::object(); diff --git a/packages/react-native/ReactCommon/react/renderer/components/image/ImageProps.h b/packages/react-native/ReactCommon/react/renderer/components/image/ImageProps.h index ccf92c7e7ca56f..50d60c4e1fa40c 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/image/ImageProps.h +++ b/packages/react-native/ReactCommon/react/renderer/components/image/ImageProps.h @@ -46,8 +46,10 @@ class ImageProps final : public ViewProps { Float fadeDuration{}; bool progressiveRenderingEnabled{}; -#ifdef RN_SERIALIZABLE_STATE +#ifdef ANDROID + folly::dynamic getDiffProps(const Props* prevProps) const override; + #endif }; diff --git a/packages/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp b/packages/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp index ecb5898c91ba2d..580912cb264662 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp @@ -592,7 +592,7 @@ SharedDebugStringConvertibleList ScrollViewProps::getDebugProps() const { } #endif -#ifdef RN_SERIALIZABLE_STATE +#ifdef ANDROID static folly::dynamic convertScrollViewMaintainVisibleContentPosition( const ScrollViewMaintainVisibleContentPosition& value) { diff --git a/packages/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h b/packages/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h index 79fff61345a3be..9a28f4e85db14a 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +++ b/packages/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h @@ -83,8 +83,10 @@ class ScrollViewProps final : public ViewProps { SharedDebugStringConvertibleList getDebugProps() const override; #endif -#ifdef RN_SERIALIZABLE_STATE +#ifdef ANDROID + folly::dynamic getDiffProps(const Props* prevProps) const override; + #endif }; diff --git a/packages/react-native/ReactCommon/react/renderer/components/text/BaseTextProps.cpp b/packages/react-native/ReactCommon/react/renderer/components/text/BaseTextProps.cpp index 4b29f9d1a46b5e..3f762caeea4465 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/text/BaseTextProps.cpp @@ -357,7 +357,7 @@ SharedDebugStringConvertibleList BaseTextProps::getDebugProps() const { } #endif -#ifdef RN_SERIALIZABLE_STATE +#ifdef ANDROID static folly::dynamic toDynamic(const Size& size) { folly::dynamic sizeResult = folly::dynamic::object(); diff --git a/packages/react-native/ReactCommon/react/renderer/components/text/BaseTextProps.h b/packages/react-native/ReactCommon/react/renderer/components/text/BaseTextProps.h index 12d113d6249054..f40e55b1315222 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/text/BaseTextProps.h +++ b/packages/react-native/ReactCommon/react/renderer/components/text/BaseTextProps.h @@ -42,10 +42,12 @@ class BaseTextProps { SharedDebugStringConvertibleList getDebugProps() const; #endif -#ifdef RN_SERIALIZABLE_STATE +#ifdef ANDROID + void appendTextAttributesProps( folly::dynamic& result, const BaseTextProps* prevProps) const; + #endif }; diff --git a/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphProps.cpp b/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphProps.cpp index 7119757fdc5e23..a669aa287badc2 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphProps.cpp @@ -152,7 +152,7 @@ SharedDebugStringConvertibleList ParagraphProps::getDebugProps() const { } #endif -#ifdef RN_SERIALIZABLE_STATE +#ifdef ANDROID folly::dynamic ParagraphProps::getDiffProps(const Props* prevProps) const { static const auto defaultProps = ParagraphProps(); diff --git a/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphProps.h b/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphProps.h index 0622568c8a6363..8af1ad240e5b69 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphProps.h +++ b/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphProps.h @@ -58,8 +58,10 @@ class ParagraphProps : public ViewProps, public BaseTextProps { SharedDebugStringConvertibleList getDebugProps() const override; #endif -#ifdef RN_SERIALIZABLE_STATE +#ifdef ANDROID + folly::dynamic getDiffProps(const Props* prevProps) const override; + #endif }; diff --git a/packages/react-native/ReactCommon/react/renderer/components/text/RawTextProps.cpp b/packages/react-native/ReactCommon/react/renderer/components/text/RawTextProps.cpp index e49c26c1919256..32748249adabb2 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/text/RawTextProps.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/text/RawTextProps.cpp @@ -28,7 +28,7 @@ SharedDebugStringConvertibleList RawTextProps::getDebugProps() const { } #endif -#ifdef RN_SERIALIZABLE_STATE +#ifdef ANDROID folly::dynamic RawTextProps::getDiffProps(const Props* prevProps) const { folly::dynamic result = folly::dynamic::object(); diff --git a/packages/react-native/ReactCommon/react/renderer/components/text/RawTextProps.h b/packages/react-native/ReactCommon/react/renderer/components/text/RawTextProps.h index 79cacf70befb44..a9066be817770d 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/text/RawTextProps.h +++ b/packages/react-native/ReactCommon/react/renderer/components/text/RawTextProps.h @@ -37,8 +37,10 @@ class RawTextProps : public Props { SharedDebugStringConvertibleList getDebugProps() const override; #endif -#ifdef RN_SERIALIZABLE_STATE +#ifdef ANDROID + folly::dynamic getDiffProps(const Props* prevProps) const override; + #endif }; diff --git a/packages/react-native/ReactCommon/react/renderer/components/text/TextProps.cpp b/packages/react-native/ReactCommon/react/renderer/components/text/TextProps.cpp index b4913bb89fbfab..078bd9029bf9d4 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/text/TextProps.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/text/TextProps.cpp @@ -33,7 +33,7 @@ SharedDebugStringConvertibleList TextProps::getDebugProps() const { } #endif -#ifdef RN_SERIALIZABLE_STATE +#ifdef ANDROID folly::dynamic TextProps::getDiffProps(const Props* prevProps) const { folly::dynamic result = folly::dynamic::object(); diff --git a/packages/react-native/ReactCommon/react/renderer/components/text/TextProps.h b/packages/react-native/ReactCommon/react/renderer/components/text/TextProps.h index 7fbdf9b6456f2d..f60d0b438fe9c3 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/text/TextProps.h +++ b/packages/react-native/ReactCommon/react/renderer/components/text/TextProps.h @@ -35,8 +35,10 @@ class TextProps : public Props, public BaseTextProps { SharedDebugStringConvertibleList getDebugProps() const override; #endif -#ifdef RN_SERIALIZABLE_STATE +#ifdef ANDROID + folly::dynamic getDiffProps(const Props* prevProps) const override; + #endif }; diff --git a/packages/react-native/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.cpp b/packages/react-native/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.cpp index 84391017487aaf..422a7db76948e9 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.cpp @@ -17,8 +17,7 @@ ComponentName UnimplementedViewProps::getComponentName() const { return componentName_; } -#ifdef RN_SERIALIZABLE_STATE - +#ifdef ANDROID folly::dynamic UnimplementedViewProps::getDiffProps( const Props* prevProps) const { static const auto defaultProps = UnimplementedViewProps(); @@ -35,7 +34,6 @@ folly::dynamic UnimplementedViewProps::getDiffProps( return result; } - #endif } // namespace facebook::react diff --git a/packages/react-native/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h b/packages/react-native/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h index 93a5833fa5bccc..78a2d9c3d54af2 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +++ b/packages/react-native/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h @@ -27,8 +27,10 @@ class UnimplementedViewProps final : public ViewProps { void setComponentName(ComponentName componentName); ComponentName getComponentName() const; -#ifdef RN_SERIALIZABLE_STATE +#ifdef ANDROID + folly::dynamic getDiffProps(const Props* prevProps) const override; + #endif private: diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp b/packages/react-native/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp index e64a92fbc314f8..1312f8de307a45 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp @@ -144,7 +144,7 @@ SharedDebugStringConvertibleList HostPlatformViewProps::getDebugProps() const { } #endif -#ifdef RN_SERIALIZABLE_STATE +#ifdef ANDROID inline static void updateEventProp( folly::dynamic& result, diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h b/packages/react-native/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h index a87a9dd1e3a456..130b0169821ae9 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +++ b/packages/react-native/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h @@ -57,8 +57,10 @@ class HostPlatformViewProps : public BaseViewProps { SharedDebugStringConvertibleList getDebugProps() const override; #endif -#ifdef RN_SERIALIZABLE_STATE +#ifdef ANDROID + folly::dynamic getDiffProps(const Props* prevProps) const override; + #endif }; diff --git a/packages/react-native/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h b/packages/react-native/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h index 462055029c3307..b6fd1a04ff83f3 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +++ b/packages/react-native/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h @@ -119,7 +119,7 @@ class ConcreteComponentDescriptor : public ComponentDescriptor { // Note that we just check if `Props` has this flag set, no matter // the type of ShadowNode; it acts as the single global flag. if (ReactNativeFeatureFlags::enableCppPropsIteratorSetter()) { -#ifdef RN_SERIALIZABLE_STATE +#ifdef ANDROID const auto& dynamic = shadowNodeProps->rawProps; #else const auto& dynamic = static_cast(rawProps); diff --git a/packages/react-native/ReactCommon/react/renderer/core/Props.cpp b/packages/react-native/ReactCommon/react/renderer/core/Props.cpp index 63c7c1dd1df318..bdd0f76825ea6d 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/Props.cpp +++ b/packages/react-native/ReactCommon/react/renderer/core/Props.cpp @@ -32,7 +32,7 @@ void Props::initialize( nativeId = ReactNativeFeatureFlags::enableCppPropsIteratorSetter() ? sourceProps.nativeId : convertRawProp(context, rawProps, "nativeID", sourceProps.nativeId, {}); -#ifdef RN_SERIALIZABLE_STATE +#ifdef ANDROID if (ReactNativeFeatureFlags::enableAccumulatedUpdatesInRawPropsAndroid()) { auto& oldRawProps = sourceProps.rawProps; auto newRawProps = rawProps.toDynamic(filterObjectKeys); diff --git a/packages/react-native/ReactCommon/react/renderer/core/Props.h b/packages/react-native/ReactCommon/react/renderer/core/Props.h index 75cf5a3e846585..b2c66b025100ce 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/Props.h +++ b/packages/react-native/ReactCommon/react/renderer/core/Props.h @@ -63,12 +63,13 @@ class Props : public virtual Sealable, public virtual DebugStringConvertible { std::string nativeId; -#ifdef RN_SERIALIZABLE_STATE +#ifdef ANDROID folly::dynamic rawProps = folly::dynamic::object(); virtual folly::dynamic getDiffProps(const Props* prevProps) const { return folly::dynamic::object(); } + #endif #if RN_DEBUG_STRING_CONVERTIBLE diff --git a/packages/react-native/ReactCommon/react/renderer/core/ShadowNode.cpp b/packages/react-native/ReactCommon/react/renderer/core/ShadowNode.cpp index 68c66e0d7e0463..ed6f7804d80028 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/ShadowNode.cpp +++ b/packages/react-native/ReactCommon/react/renderer/core/ShadowNode.cpp @@ -50,7 +50,7 @@ ShadowNode::SharedListOfShared ShadowNode::emptySharedShadowNodeSharedList() { Props::Shared ShadowNode::propsForClonedShadowNode( const ShadowNode& sourceShadowNode, const Props::Shared& props) { -#ifdef RN_SERIALIZABLE_STATE +#ifdef ANDROID bool hasBeenMounted = sourceShadowNode.hasBeenMounted_; bool sourceNodeHasRawProps = !sourceShadowNode.getProps()->rawProps.empty(); if (!hasBeenMounted && sourceNodeHasRawProps && props) {