State has been read after it was disposed during retry logic in Jetpack Compose
Goal: implement a retry‑on‑failure coroutine that updates a mutableStateOf value exactly once per successful attempt while guaranteeing that no state access occurs after the composable disposes. Constraints/uncertainty: The retry loop must survive transient failures but must not leak coroutines that continue after disposal, which triggers the IllegalStateExc