should there be a `1.0.0-beta03` version for Compo...
# compose-web
j
should there be a
1.0.0-beta03
version for Compose for Web (as there is for Desktop)?
i
We have issues on Web with the new Kotlin, and we are looking how to fix them.
h
Do you mean the signature clash?
IdSignature clash: androidx.compose.runtime.internal/StabilityInferred.<init>|-5182794243525578284[0];
l
@Igor Demin Is there somewhere an issue related to this, so I could track it? (I couldn't find any yesterday). My error looks like this:
> Task :uwidgets:compileKotlinJs FAILED
e: java.lang.AssertionError: org.jetbrains.kotlin.ir.expressions.impl.IrCallImpl@7b44506d: No such value argument slot: 0
i
Do you mean the signature clash?
IdSignature clash: androidx.compose.runtime.internal/StabilityInferred.<init>|-5182794243525578284[0];
Yes, this one. We have it when we build
web
artifacts.
Copy code
java.lang.AssertionError: org.jetbrains.kotlin.ir.expressions.impl.IrCallImpl@7bda6b02: No such value argument slot: 1
Did you upgrade the Compose Compiler version when you upgraded Kotlin? If not, then this error is because you used incompatible version of Compose Compiler (1.3.0-alpha01, that is bundled in Compose Multiplatform 1.2.0-beta02, 1.2.0-beta03-dev803), and have somewhere the compatibility check disabled.
l
I did upgrade compose compiler too. From my buildscripts:
Copy code
val kotlin = v(1, 7, 20)
    val composeJbEdge = "1.2.0-beta03-dev803"
    val composeCompilerDev = "1.4.0-dev-k1.7.20-e49b3b6028b"
I also tried compose compiler 1.3.2 before (similar error:
org.jetbrains.kotlin.ir.expressions.impl.IrCallImpl@7acbc181: No such value argument slot: 0
)
h
@langara 1.2.0-beta03-dev803 still requires 1.7.10 and its compose compiler, because 1.7.20 has some internal kotlin compiler changes.
l
@hfhbd Ok, thanks. I guess the fact that the desktop compilation works for me and I only get cryptic errors with compileKotlinJs, fooled me to thinking kotlin 1.7.20 should be already supported.
i
Probably Kotlin 1.7.20 has a bug, which doesn't allow us to support it for JS. We will support 1.7.20 only for desktop/android for now. JS will support only 1.7.10 until the new Kotlin is released. We will discuss that with Kotlin team. Hopefully, it can be fixed in 1.7.21, or they'll suggest a workaround.
l
@Igor Demin I can prepare some small example project that reproduces this issue - if needed. (although I guess it's easy to reproduce)
i
Thanks! An example would be helpful (with 1.3.2 compiler). Your error is different from ours, so there can be more issues in Compose/Kotlin
l
j
Is the
IdSignature
clash non-deterministic? Mine is
Copy code
e: java.lang.IllegalStateException: IdSignature clash: kotlin/Function2.invoke|3397681596704175240[0]; Existed declaration FUN IR_EXTERNAL_DECLARATION_STUB name:invoke visibility:public modality:ABSTRACT <> ($this:kotlin.Function2<P1 of kotlin.Function2, P2 of kotlin.Function2, R of kotlin.Function2>, p1:P1 of kotlin.Function2, p2:P2 of kotlin.Function2) returnType:R of kotlin.Function2 [operator] clashed with new FUN IR_EXTERNAL_DECLARATION_STUB name:invoke visibility:public modality:ABSTRACT <> ($this:kotlin.Function2<P1 of kotlin.Function2, P2 of kotlin.Function2, R of kotlin.Function2>, p1:P1 of kotlin.Function2, p2:P2 of kotlin.Function2) returnType:R of kotlin.Function2 [operator]
i
Probably. We also encountered
kotlin.collections/MutableList.removeAt
clash
j
Is there some kind of tracking issue I can monitor/link to?
i
For Compose you can track this issue. There is no corresponding issue for Kotlin yet.