Skip to content

Pro 1.8.0 fails to compile on React Native 0.88: no serialize() overload for ImageProps::tintColor (std::optional<SharedColor>) #708

Closed

Description

@magrinj

What happened?

Uniwind Pro 1.8.0 lists React Native 0.88 as supported, but the iOS build fails in the C++ core:

node_modules/uniwind/cxx/core/VerifiedProps.cpp:54:56: error: no matching function for call to 'serialize'
node_modules/uniwind/cxx/core/VerifiedProps.cpp:53:33: error: no matching constructor for initialization of 'const VerifiedProps<ImageProps>'

In React Native 0.88, ImageProps::tintColor is declared as std::optional<SharedColor> (ReactCommon/react/renderer/components/image/ImageProps.h:36, same in 0.88.0-rc.1 and rc.3), but VerifiedProps.cpp only has serialize(const SharedColor&), serialize(Float) and serialize(const std::optional<FontWeight>&).

Adding this overload next to the others fixes the build, and the app runs:

std::string serialize(const std::optional<SharedColor>& color) {
    return color ? serialize(*color) : "undefined";
}

If older React Native versions still declare tintColor as a plain SharedColor, a #if REACT_NATIVE_VERSION_MINOR >= 88 guard (or keeping both overloads, which don't conflict) covers both.

Steps to Reproduce

  1. Expo SDK 58 app on react-native 0.88.0-rc.1 (Expo SDK 58.0.2 pins 0.88.0-rc.3, which has the same declaration)
  2. Install Uniwind Pro 1.8.0 ("uniwind": "npm:uniwind-pro@1.8.0"), then npx expo prebuild --clean and pod install
  3. Build for iOS (Xcode 27.1, iOS 27 simulator) -> compile errors in cxx/core/VerifiedProps.cpp

Snack or Repository Link (Optional)

No response

Uniwind version

1.8.0 (Pro)

React Native Version

0.88.0-rc.1

Platforms

iOS

Expo

Yes

Additional information 〰

Activity

  1. magrinj commented on Oct 3, 2026

    @magrinj
    Author

    BTW I did a postinstall script that add the overload and it works

  2. jpudysz commented on Oct 3, 2026

    @jpudysz
    Collaborator

    Confirmed, I added this function after 0.88 tests 😱

    Will fix and release in 1.8.1

  3. self-assigned this
    on Oct 3, 2026
  4. magrinj commented on Oct 5, 2026

    @magrinj
    Author

    Thanks ! waiting for the release 🙂

  5. Brentlok commented on Oct 5, 2026

    @Brentlok
    Contributor

    New release is published: https://docs.uniwind.dev/pro/changelog

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions