Skip to content
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

RN 0.77 support #3753

Open
talaikis opened this issue Jan 24, 2025 · 13 comments · May be fixed by #3749
Open

RN 0.77 support #3753

talaikis opened this issue Jan 24, 2025 · 13 comments · May be fixed by #3749

Comments

@talaikis
Copy link

Environment

  • Dev OS: Win 11
  • @rnmapbox/maps version: 10.1,33
  • React Native version: 0.77.0
  • Expo version: 52.0.27

Steps to reproduce

  1. build app for RN 0.77

Errors

e: file:////node_modules/rn-utils/android/src/main/java/com/utils/HashStoreModule.kt:66:29 Argument type mismatch: actual type is 'kotlin.String?', but 'kotlin.String' was expected.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXCalloutManager.kt:15:49 Argument type mismatch: actual type is 'com.rnmapbox.rnmbx.components.annotation.RNMBXCalloutManager', but 'U!' was expected.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerViewManager.kt:28:52 Argument type mismatch: actual type is 'com.rnmapbox.rnmbx.components.annotation.RNMBXMarkerViewManager', but 'U!' was expected.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotationManager.kt:24:57 Argument type mismatch: actual type is 'com.rnmapbox.rnmbx.components.annotation.RNMBXPointAnnotationManager', but 'U!' was expected.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImagesManager.kt:252:29 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'com.facebook.react.bridge.ReadableArray?'.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImagesManager.kt:252:49 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'com.facebook.react.bridge.ReadableArray?'.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImagesManager.kt:252:91 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'com.facebook.react.bridge.ReadableArray?'.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImagesManager.kt:255:51 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'com.facebook.react.bridge.ReadableArray?'.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImagesManager.kt:255:80 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'com.facebook.react.bridge.ReadableArray?'.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapView.kt:18:27 Unresolved reference 'ViewTreeLifecycleOwner'.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapView.kt:119:30 Class '<anonymous>' is not abstract and does not implement abstract member 'lifecycle'.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapView.kt:134:17 'getLifecycle' overrides nothing.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapView.kt:138:13 Unresolved reference 'ViewTreeLifecycleOwner'.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapViewManager.kt:37:16 Argument type mismatch: actual type is 'kotlin.String?', but 'kotlin.String' was expected.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapViewManager.kt:43:9 Argument type mismatch: actual type is 'kotlin.String?', but 'kotlin.String' was expected.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapViewManager.kt:60:63 Type argument is not within its bounds: should be subtype of 'it(BaseViewManagerInterface & com.facebook.react.viewmanagers.RNMBXMapViewManagerInterface<com.rnmapbox.rnmbx.components.mapview.RNMBXMapView!>)!'.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapViewManager.kt:60:84 Argument type mismatch: actual type is 'com.rnmapbox.rnmbx.components.mapview.RNMBXMapViewManager', but 'U!' was expected.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyleValue.kt:85:28 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'com.facebook.react.bridge.ReadableMap?'.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyleValue.kt:107:29 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'com.facebook.react.bridge.ReadableMap?'.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyleValue.kt:124:45 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'com.facebook.react.bridge.ReadableArray?'.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyleValue.kt:124:55 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'com.facebook.react.bridge.ReadableMap?'.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyleValue.kt:126:33 Argument type mismatch: actual type is 'com.facebook.react.bridge.ReadableMap?', but 'com.facebook.react.bridge.ReadableMap' was expected.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyleValue.kt:126:41 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'com.facebook.react.bridge.ReadableArray?'.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/atmosphere/RNMBXAtmosphereManager.kt:16:52 Argument type mismatch: actual type is 'com.rnmapbox.rnmbx.components.styles.atmosphere.RNMBXAtmosphereManager', but 'U!' was expected.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSourceManager.kt:122:40 None of the following candidates is applicable:
fun literal(value: Boolean): Expression
fun literal(value: Double): Expression
fun literal(value: Long): Expression
fun literal(value: String): Expression
fun literal(value: HashMap<String, Any>): Expression
fun literal(value: List<Any>): Expression
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXTileSourceManager.kt:44:26 Argument type mismatch: actual type is 'kotlin.String?', but 'kotlin.String' was expected.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/shapeAnimators/RNMBXChangeLineOffsetsShapeAnimatorModule.kt:213:41 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'com.facebook.react.bridge.ReadableArray?'.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/shapeAnimators/RNMBXChangeLineOffsetsShapeAnimatorModule.kt:213:59 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'com.facebook.react.bridge.ReadableArray?'.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/Dynamic.kt:41:42 None of the following candidates is applicable:
static fun valueOf(p0: Double): Value
static fun valueOf(p0: Long): Value
static fun valueOf(p0: Boolean): Value
static fun valueOf(p0: String): Value
static fun valueOf(p0: (MutableList<Value!>..List<Value!>)): Value
static fun valueOf(p0: HashMap<String!, Value!>): Value
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/Dynamic.kt:42:46 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'com.facebook.react.bridge.ReadableArray?'.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/Dynamic.kt:43:42 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'com.facebook.react.bridge.ReadableMap?'.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableArray.kt:49:53 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'com.facebook.react.bridge.ReadableMap?'.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableArray.kt:50:57 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'com.facebook.react.bridge.ReadableArray?'.
e: file:////node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableMap.kt:28:26 Argument type mismatch: actual type is 'kotlin.Any?', but 'kotlin.Any' was expected.
e: file:////node_modules/@rnmapbox/maps/android/src/main/rn-compat/rn75/com/rnmapbox/rnmbx/rncompat/ReadableMap.kt:6:12 Return type mismatch: expected 'kotlin.collections.Iterator<kotlin.collections.Map.Entry<kotlin.String, kotlin.Any>>', actual 'kotlin.collections.Iterator<kotlin.collections.Map.Entry<kotlin.String, kotlin.Any?>>'.
@efstathiosntonas
Copy link

I've opened a draft PR about supporting but need some input from the maintainers

@efstathiosntonas efstathiosntonas linked a pull request Jan 27, 2025 that will close this issue
7 tasks
@ulucantugberk
Copy link

@rnmapbox+maps+10.1.33.patch

"@rnmapbox/maps": "10.1.33",
"react": "18.3.1",
"react-native": "0.77.0",

try this patch, works for me

@1453alabanda
Copy link

@rnmapbox+maps+10.1.33.patch

"@rnmapbox/maps": "10.1.33",
"react": "18.3.1",
"react-native": "0.77.0",

try this patch, works for me

thanks, working for me..

@kyaroru
Copy link

kyaroru commented Feb 5, 2025

i'm still getting the error after applying the patch but it is at RNMBXCalloutManager file 😿

using same exact version:

"@rnmapbox/maps": "10.1.33",
"react": "18.3.1",
"react-native": "0.77.0",

Tried rm -rf node_modules and Invalidate Caches in android studio but still same

file:///xxx/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXCalloutManager.kt:15:49 Argument type mismatch: actual type is 'com.rnmapbox.rnmbx.components.annotation.RNMBXCalloutManager', but 'U!' was expected.

Is there anything that needs to be done apart from the patch?

@anandtatva
Copy link

#3753 (comment)

getting the same issue @1453alabanda @ulucantugberk

may i know your android setup

@brunoscardoso
Copy link

@rnmapbox+maps+10.1.33.patch

"@rnmapbox/maps": "10.1.33",
"react": "18.3.1",
"react-native": "0.77.0",

try this patch, works for me

I tried and it didn't work, can you send me more details of your environment on Android? things like, Kotlinversion, compileSdkVersion, etc

@brunoscardoso
Copy link

Install the lib patch-package, download the package below (is different from the patches above) this works
@rnmapbox+maps+10.1.33.patch

"@rnmapbox/maps": "10.1.33", "react": "18.3.1", "react-native": "0.77.0",

@Dosbodoke
Copy link

Dosbodoke commented Feb 14, 2025

Install the lib patch-package, download the package below (is different from the patches above) this works @rnmapbox+maps+10.1.33.patch

"@rnmapbox/maps": "10.1.33", "react": "18.3.1", "react-native": "0.77.0",

Patch package failed for me **ERROR** Failed to apply patch for package @rnmapbox/maps at path

It's the first time I'm working with patch package, am I doing something wrong?

  1. Inslatted patch package with yarn add -D patch-package
  2. added "postinstall": "patch-package" under my "scripts:" on package.json
  3. Added the file you linked under patches, so now I got \patches\@rnmapbox+maps+10.1.33.patch
  4. Deleted node_modules
  5. Ran yarn install

On my dependencies I have "@rnmapbox/maps": "10.1.33"

@Dosbodoke
Copy link

@rnmapbox+maps+10.1.33.patch

"@rnmapbox/maps": "10.1.33",
"react": "18.3.1",
"react-native": "0.77.0",

try this patch, works for me

this one worked tough

@talaikis
Copy link
Author

With patch file:

e: file:///C:/..../node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerViewManager.kt:28:52 Argument type mismatch: actual type is 'com.rnmapbox.rnmbx.components.annotation.RNMBXMarkerViewManager', but 'U!' was expected.
e: file:///C:/..../node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotationManager.kt:24:57 Argument type mismatch: actual type is 'com.rnmapbox.rnmbx.components.annotation.RNMBXPointAnnotationManager', but 'U!' was expected.
e: file:///C:/..../node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapViewManager.kt:60:63 Type argument is not within its bounds: should be subtype of 'it(BaseViewManagerInterface & com.facebook.react.viewmanagers.RNMBXMapViewManagerInterface<com.rnmapbox.rnmbx.components.mapview.RNMBXMapView!>)!'.
e: file:///C:/..../node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapViewManager.kt:60:84 Argument type mismatch: actual type is 'com.rnmapbox.rnmbx.components.mapview.RNMBXMapViewManager', but 'U!' was expected.
e: file:///C:/..../node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/atmosphere/RNMBXAtmosphereManager.kt:16:52 Argument type mismatch: actual type is 'com.rnmapbox.rnmbx.components.styles.atmosphere.RNMBXAtmosphereManager', but 'U!' was expected
```

@Dosbodoke
Copy link

Dosbodoke commented Feb 15, 2025

With patch file:

...

Try to strict the versin to "@rnmapbox/maps": "10.1.33", use the patch provided by @1453alabanda and delete node_modules and yarn.lock/package-lock.json, It worked for me. BTW I'm using yarn, don't know if can make any difference.

@talaikis
Copy link
Author

Try to strict the versin to "@rnmapbox/maps": "10.1.33", use the patch provided by @1453alabanda and delete node_modules and yarn.lock/package-lock.json, It worked for me. BTW I'm using yarn, don't know if can make any difference.

That has nothing to do with Kotlin errors. Kotlin isn't affected by gradle or yarn cache. What Kotlin version are you using?

@Vikmanatus
Copy link

Vikmanatus commented Feb 17, 2025

Hello

I am facing the same issue as you @talaikis after applying the first suggested patch.

I am currently using :

Android gradle plugin: 8.7.2
Gradle: 8.10.2
React-Native: 0.77
Kotlin 2.0.21 (the one suggested by the upgrade helper)
minSdkVersion: 24
compileSdkVersion: 35
targetSdkVersion: 34
ndkVersion : "27.1.12297006"
agp_version : '8.8.1'

But from what I saw in the official Android docs, I might be using an outdated AGP version, I'll try to bump it and I'll come back to you to confirm if after that the patch worked

EDIT: from what I've tested, even if I upgrade to latest AGP issue, I'm still facing the issue after running the first patch

EDIT 2: the patch suggested by @brunoscardoso works perfectly, thank you very much ! 💯

I saw there is a PR for the support of react-native 0.77, let's hope it get merged soon 👍

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

Successfully merging a pull request may close this issue.

9 participants