compose-multiplatform
compose-multiplatform copied to clipboard
Glitch in navigation between Compose and Swift UI
Describe the bug
Glitch in navigation between Compose and Swift UI in a form of vertical white line on the device (simulator seems ok).
Navigation it's handled natively on iOS side. All compose screens are inside UIViewControllerRepresentable.
Compose > Compose ✅ Compose > Swift UI ✅ Swift UI > Compose 🐛
Affected platforms
- iOS (device)
Versions
- Kotlin version: 1.9.20
- Compose Multiplatform version: 1.5.11 (then I've tested with 1.5.10 and it also has it)
- OS version(s) (required for Desktop and iOS issues): iphone 13 mini iOS 17.1.1
- OS architecture (x86 or arm64): arm64
To Reproduce Steps and/or the code snippet to reproduce the behavior:
- checkout https://github.com/GuilhE/Expressus
- run iosApp
- enter in Swift_UI screen
- go back
Expected behavior No glitch
Screenshots
https://github.com/JetBrains/compose-multiplatform/assets/2677139/32379b90-08cf-4408-b13f-a1629690a8a6
Possible related https://github.com/JetBrains/compose-multiplatform/issues/3492?
Thank you for submitting, we will take a look.
any news version 1.6.0
Tested, still happening with:
kotlin = "1.9.22"
gradleComposeMultiplatform = "1.6.0-beta01"
composeMultiplatformCompiler = "1.5.8-beta01"
Tested, still happening with:
kotlin = "1.9.22"
gradleComposeMultiplatform = "1.6.0-rc01"
composeMultiplatformCompiler = "1.5.8.1-beta02"
Tested, still happening with:
kotlin = "1.9.23"
gradleComposeMultiplatform = "1.6.1"
composeMultiplatformCompiler = "1.5.10.1"
It's a visual glitch of the compositor services in iOS, that don't properly synchronise internal at-moment state of CATransaction responsible for the animation of CAMetalLayer frame and CAMetalDrawable presentation into this layer.
I'll keep my eyes on it to see if any solution arises, but for now it seems like something we can not fix.
Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.