Summary
rememberSaveable state in Presenter.present() is not restored when navigating back, causing state loss.
Environment
- Circuit: 0.31.0
- Compose Runtime Saveable:
org.jetbrains.compose.runtime:runtime-saveable:1.10.0-rc02
- Kotlin: 2.2.21
Steps to Reproduce
Open reproducer: https://github.com/tevjef/android-bugs/tree/circuit_remember_saveable
- Launch app → increment counter
- Navigate to new screen
- Press back
- Expected: Counter restored to previous value
- Actual: Counter resets to 0
Minimal Reproduction
// build.gradle.kts
implementation("org.jetbrains.compose.runtime:runtime-saveable:1.10.0-rc02")
@Composable
override fun present(): CounterScreen.CounterState {
var count by rememberSaveable { mutableStateOf(0) }
// State not restored when navigating back
}