Skip to content

Support Compose Plugin 1.7.0 #4

Open

Description

@FlorentDambreville

Are you planning on supporting the new gradle plugin org.jetbrains.compose, version 1.7.0 ?

I experience a crash 💥 when updating my app with this new 1.7.0 version.
I would like to continue using your useful lib

Activity

  1. changed the title [-]Plan for Compose Plugin 1.7.0[/-] [+]Support Compose Plugin 1.7.0[/+] on Nov 6, 2024
  2. Bashirkhalil commented on Nov 22, 2024

    @Bashirkhalil

    also i am facing the issue .
    this issue is from the compose itself but it's has been fixed in the new version which you mentioned .

  3. FlorentDambreville commented on Jan 7, 2025

    @FlorentDambreville
    Author

    More detail about the crash :

    It happen since I've updated the https://github.com/JetBrains/compose-multiplatform librairy from 1.6.11 to 1.7.0 as soon as I try to display the screen containing the CountryPickerBasicTextField

    My implementation :

    CountryPickerBasicTextField(
            modifier = Modifier.fillMaxWidth(),
            mobileNumber = mobileNumber,
            defaultCountryCode = "FR",
            onMobileNumberChange = {
                mobileNumber = it
                viewModel.onPhoneNumberChanged(it)
            },
            onCountrySelected = { viewModel.onPhoneNumberPrefixChanged(it.countryPhoneNumberCode) },
            showVerticalDivider = false,
            colors = OutlinedTextFieldDefaults.colors(
                unfocusedBorderColor = BoatOnColors.strokePrimary(),
                focusedBorderColor = BoatOnColors.strokePrimary(),
            ),
            singleLine = true,
            shape = RoundedCornerShape(4.dp),
            label = {
                Text(text = stringResource(Res.string.register_phone_label))
            },
            onDone = { viewModel.register() }
        )

    Here is the crash stacktrace :

    FATAL EXCEPTION: main 
    
    java.lang.IllegalStateException: No instrumentation registered! Must run under a registering instrumentation.
       at androidx.test.platform.app.InstrumentationRegistry.getInstrumentation(InstrumentationRegistry.java:45)
       at org.jetbrains.compose.resources.AndroidContextProviderKt.getAndroidInstrumentedContext(AndroidContextProvider.kt:16)
       at org.jetbrains.compose.resources.ResourceReader_androidKt$getPlatformResourceReader$1.getInstrumentedAssets(ResourceReader.android.kt:22)
      at org.jetbrains.compose.resources.ResourceReader_androidKt$getPlatformResourceReader$1.getResourceAsStream(ResourceReader.android.kt:79)
    	at org.jetbrains.compose.resources.ResourceReader_androidKt$getPlatformResourceReader$1.read(ResourceReader.android.kt:29)
     	at org.jetbrains.compose.resources.ImageResourcesKt$loadImage$2.invokeSuspend(ImageResources.kt:158)
    	at org.jetbrains.compose.resources.ImageResourcesKt$loadImage$2.invoke(Unknown Source:8)
    	at org.jetbrains.compose.resources.ImageResourcesKt$loadImage$2.invoke(Unknown Source:2)
    	at org.jetbrains.compose.resources.AsyncCache$getOrLoad$2$deferred$1$1.invokeSuspend(AsyncCache.kt:19)
    	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
    	at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:263)
    	at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:95)
    	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:69)
    	at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1)
    	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:47)
     	at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1)
     	at org.jetbrains.compose.resources.ResourceState_blockingKt.rememberResourceState(ResourceState.blocking.kt:46)
     	at org.jetbrains.compose.resources.ImageResourcesKt.imageResource(ImageResources.kt:60)
     	at org.jetbrains.compose.resources.ImageResourcesKt.painterResource(ImageResources.kt:44)
     	at network.chaintech.cmpcountrycodepicker.ui.CountryPickerDialogKt.SelectedCountrySection-mHrPwMQ(CountryPickerDialog.kt:355)
     	at network.chaintech.cmpcountrycodepicker.ui.CountryPickerDialogKt.CountryPicker-HQhzCv8(CountryPickerDialog.kt:289)
     	at network.chaintech.cmpcountrycodepicker.ui.CountryPickerTextFieldKt$CountryPickerBasicTextField$4.invoke(CountryPickerTextField.kt:127)
     	at network.chaintech.cmpcountrycodepicker.ui.CountryPickerTextFieldKt$CountryPickerBasicTextField$4.invoke(CountryPickerTextField.kt:126)
    	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
    	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
    	at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:401)
    	at androidx.compose.material3.internal.TextFieldImplKt.Decoration-Iv8Zu3U(TextFieldImpl.kt:304)
    	at androidx.compose.material3.internal.TextFieldImplKt.access$Decoration-Iv8Zu3U(TextFieldImpl.kt:1)
    	at androidx.compose.material3.internal.TextFieldImplKt$CommonDecorationBox$3$decoratedLeading$1$1.invoke(TextFieldImpl.kt:206)
    	at androidx.compose.material3.internal.TextFieldImplKt$CommonDecorationBox$3$decoratedLeading$1$1.invoke(TextFieldImpl.kt:206)
    	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
    	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
    	at androidx.compose.material3.OutlinedTextFieldKt.OutlinedTextFieldLayout(OutlinedTextField.kt:490)
    	at androidx.compose.material3.internal.TextFieldImplKt.CommonDecorationBox(TextFieldImpl.kt:265)
    	at androidx.compose.material3.OutlinedTextFieldDefaults.DecorationBox(TextFieldDefaults.kt:886)
    	at network.chaintech.cmpcountrycodepicker.ui.PickerTextFieldKt$PickerBasicTextField$2$2.invoke(PickerTextField.kt:92)
    2025-01-07 14:22:37.418  8393-8393  AndroidRuntime          com.boaton.boatonbook                E  	at network.chaintech.cmpcountrycodepicker.ui.PickerTextFieldKt$PickerBasicTextField$2$2.invoke(PickerTextField.kt:91) (Ask Gemini)
    	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:118)
    	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
    	at androidx.compose.foundation.text.CoreTextFieldKt$CoreTextField$5.invoke(CoreTextField.kt:696)
    	at androidx.compose.foundation.text.CoreTextFieldKt$CoreTextField$5.invoke(CoreTextField.kt:695)
    	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
    	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
    	at androidx.compose.foundation.contextmenu.ContextMenuArea_androidKt.ContextMenuArea(ContextMenuArea.android.kt:48)
    	at androidx.compose.foundation.text.ContextMenu_androidKt.ContextMenuArea(ContextMenu.android.kt:38)
    	at androidx.compose.foundation.text.CoreTextFieldKt.CoreTextFieldRootBox(CoreTextField.kt:804)
    	at androidx.compose.foundation.text.CoreTextFieldKt.CoreTextField(CoreTextField.kt:695)
    	at androidx.compose.foundation.text.BasicTextFieldKt.BasicTextField(BasicTextField.kt:631)
    	at network.chaintech.cmpcountrycodepicker.ui.PickerTextFieldKt$PickerBasicTextField$2.invoke(PickerTextField.kt:67)
    	at network.chaintech.cmpcountrycodepicker.ui.PickerTextFieldKt$PickerBasicTextField$2.invoke(PickerTextField.kt:66)
    	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
    	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
    	at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:401)
    	at network.chaintech.cmpcountrycodepicker.ui.PickerTextFieldKt.PickerBasicTextField-ebqUb8o(PickerTextField.kt:66)
    	at network.chaintech.cmpcountrycodepicker.ui.CountryPickerTextFieldKt.CountryPickerBasicTextField-Hp6rkrQ(CountryPickerTextField.kt:117)
    	at com.boaton.boatonbook.feature.register.RegisterUserInformationScreenKt.PhoneNumber(RegisterUserInformationScreen.kt:185)
    	at com.boaton.boatonbook.feature.register.RegisterUserInformationScreenKt.access$PhoneNumber(RegisterUserInformationScreen.kt:1)
    	at com.boaton.boatonbook.feature.register.RegisterUserInformationScreenKt$RegisterUserInformationScreen$2.invoke(RegisterUserInformationScreen.kt:105)
    	at com.boaton.boatonbook.feature.register.RegisterUserInformationScreenKt$RegisterUserInformationScreen$2.invoke(RegisterUserInformationScreen.kt:79)
    	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:118)
    	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
    	at androidx.compose.material3.ScaffoldKt$ScaffoldLayout$1$1$bodyContentPlaceables$1.invoke(Scaffold.kt:261)
    	at androidx.compose.material3.ScaffoldKt$ScaffoldLayout$1$1$bodyContentPlaceables$1.invoke(Scaffold.kt:238)
    	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
    	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
    	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$subcompose$3$1$1.invoke(SubcomposeLayout.kt:1017)
    	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$subcompose$3$1$1.invoke(SubcomposeLayout.kt:493)
    	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
    	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
    	at androidx.compose.runtime.ActualJvm_jvmKt.invokeComposable(ActualJvm.jvm.kt:97)
    	at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3595)
    	at androidx.compose.runtime.ComposerImpl.composeContent$runtime_release(Composer.kt:3522)
    	at androidx.compose.runtime.CompositionImpl.composeContent(Composition.kt:743)
    	at androidx.compose.runtime.Recomposer.composeInitial$runtime_release(Recomposer.kt:1122)
    2025-01-07 14:22:37.418  8393-8393  AndroidRuntime          com.boaton.boatonbook                E  	at androidx.compose.runtime.ComposerImpl$CompositionContextImpl.composeInitial$runtime_release(Composer.kt:3876) (Ask Gemini)
    	at androidx.compose.runtime.ComposerImpl$CompositionContextImpl.composeInitial$runtime_release(Composer.kt:3876)
    	at androidx.compose.runtime.CompositionImpl.composeInitial(Composition.kt:649)
    	at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:635)
    	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcomposeInto(SubcomposeLayout.kt:516)
    	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose(SubcomposeLayout.kt:488)
    	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose(SubcomposeLayout.kt:479)
    	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose(SubcomposeLayout.kt:463)
    	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$Scope.subcompose(SubcomposeLayout.kt:895)
    	at androidx.compose.material3.ScaffoldKt$ScaffoldLayout$1$1.invoke-0kLqBqw(Scaffold.kt:238)
    	at androidx.compose.material3.ScaffoldKt$ScaffoldLayout$1$1.invoke(Scaffold.kt:140)
    	...
    

    I am ready to get involved to help fixing this issue.

    This is keeping me from updating Jetbrains Compose Multiplatform library.
    Can you help please ?

  4. FlorentDambreville commented on Jan 7, 2025

    @FlorentDambreville
    Author

    It also crash with the latest Compose Multiplatform 1.7.3 version

  5. y-maskin commented on Apr 17, 2025

    @y-maskin

    Any updates?

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions