As a result, we will audit the code right now, marking various interfaces / classes as @Immutable / @Stable as necessary, in order to prevent unnecessary recompositions from happening. However, annotating elements ourselves instead of letting the Compose compiler do it feels fragile and we'd like to remove them someday.
JetBrains compose multiplatform introduced a pretty bad recomposition issue back in v1.6.0 that we just noticed recently. https://github.com/JetBrains/compose-multiplatform/issues/4967
As a result, we will audit the code right now, marking various interfaces / classes as
@Immutable
/@Stable
as necessary, in order to prevent unnecessary recompositions from happening. However, annotating elements ourselves instead of letting the Compose compiler do it feels fragile and we'd like to remove them someday.