The desktop target is the cheapest bug oracle you are not using
It builds in seconds, runs real Compose, and needs no device.
We use Google Analytics to see which pages help people. No ads, no profiles. Privacy Policy
It builds in seconds, runs real Compose, and needs no device.
Text takes a String or an AnnotatedString. The second lets one composable carry multiple styles, inline content and clickable spans — replacing the Row of Texts that breaks at large font scales.
Declared versions are requests, not guarantees. Resolution picks the highest.
androidx.lifecycle.ViewModel is Android's. The shared class needs an explicit clear() and two platforms that call it.
Each collector re-runs the producer. Two UI observers plus a test is three executions.
Five targets, five sinks, and one of them discards your output silently.
MaterialTheme scopes values to a subtree, which is the wrong shape for reusable per-component configuration. Compose's styles direction addresses that gap; wrapper composables are the pattern to use today.
Virtual time makes a 30-second timeout instant — and makes a real-dispatcher leak invisible.
The default hierarchy creates intermediate source sets you never declared.
Conflation turns two identical emissions into one, so a repeated event vanishes.
Structured concurrency propagates failure upward by design. SupervisorJob is how you declare independence.
One test, five executions. That is how you find platform bugs — and how one flaky test fails five jobs.