Your HTTP cache exists on two targets and is a stub on two others
OkHttp and NSURLSession cache to disk, the browser's cache is the browser's, and the common engine has none. Measured hit rates differ by a factor nobody budgeted for.
We use Google Analytics to see which pages help people. No ads, no profiles. Privacy Policy
Compose, Kotlin, and multiplatform work — the mechanism under the symptom.
296 posts
OkHttp and NSURLSession cache to disk, the browser's cache is the browser's, and the common engine has none. Measured hit rates differ by a factor nobody budgeted for.
The hierarchy template inserts nodes based on declared targets. A directory for a node that does not exist compiles nowhere and warns about nothing.
Main is supplied by a platform integration, so it exists on Android and iOS and fails at runtime on desktop tests — a crash whose message names a module, not a mistake.
Measured per target rather than per line: the iOS app reached a third of the shared surface because the API was shaped around Android's lifecycle.
Nested transactions, savepoints and write locking vary per driver. Code written against one driver's guarantees loses them silently on another.
A monotonic integer, a build string, a semantic version and a cache-busting hash have to agree. Deriving all four from one source is the only shape that survives a hotfix.
A dropped socket is a normal event with no exception on some engines. Reconnection with jitter and a resume token is application code, and it is the same code on all four.
A simulator-only framework works on your machine and fails on the device, and the error names a missing architecture rather than the packaging decision that caused it.
One test, five executions. That is how you find platform bugs — and how one flaky test fails five jobs.
Same folder names, different resolution. The accessor is typed, and a missing qualifier fails somewhere new.
Material models colour, type and shape. Everything else a design system needs — spacing, motion, semantic colour — has to be added. Extending with a parallel CompositionLocal is usually right; a full custom system rarely is.
Instant is unambiguous. LocalDateTime is not. The same arithmetic can disagree across targets.