jetc.dev Newsletter Issue #330

Published: 2026-09-08

This week, we see how to get Compose Multiplatform on Apple TV and consider how Android’s foldable lessons might impact Apple developers in the future. Plus, we see a Compose for Android library for rendering Microsoft Office files, because doesn’t that sound like fun! 🤪

Composable Commentary

Posts, videos, and other new information related to Jetpack Compose!

Medium: My Journey Making Compose Multiplatform Work on tvOS, and What I Learned

Sajid Ali outlines the rationale and work involved in getting Compose Multiplatform to support Apple’s tvOS, used for the Apple TV device. Would it be easier to use SwiftUI (despite its weak focus management) or get Compose Multiplatform working on tvOS?

Medium: How a Simple UI Test Exposed an Infinite, Unnecessary Recomposition Loop

Aleksandar Ilic points out that flaky tests sometimes point to real problems, not just issues with how the test was written. In this case, the composable being tested was stuck in a recomposition loop, and trying to identify the source of the flakiness helped point out the underlying problem.

Medium: The Foldable UI Showdown: What Jetpack Compose Already Solved, and SwiftUI Is About to Face

Rumor has it that Apple will debut a foldable iPhone soon. Anshul Patro walks through how Compose for Android supports foldables, including the winding road that got us there. The post then points out gaps in SwiftUI’s adaptive UI support that may need to be addressed to better handle foldable iOS devices.

Handling Asynchronous Images in Android Screenshot Tests

Alex Zhukovich (Mastodon, Bluesky) explores the intersection of image loading and testing frameworks like Paparazzi, pointing out how you can use LocalInspectionMode.current to render something static for a preview. Alex also covers the use of coil-test and its FakeImageLoaderEngine for swapping in fakes in your tests, if you happen to be using Coil as your image-loading framework.

Animating between numbers in Jetpack Compose

Joe Birch (Mastodon) demonstrates how to use animateFloatAsState() to animate the transition from one number to another via a rapid-fire sequence of intervening numbers.

Resource Roundup

100% pure code!

Jewel

JetBrains’ design system for Compose for Desktop got its own dedicated developer site.

GitHub: MJrFusion / Docxion

GitHub user MJrFusion is developing a Compose for Android library that renders Microsoft Office files. It wraps a WebView and leverages existing TypeScript/JavaScript document viewers.

GitHub: zakayothuku / compose-recomposition-highlighter

Zakayo Thuku offers us a way to view recomposition counts on-device, rather than having to rely on connections to development tools. See this Medium post for more.

GitHub: worldline / devview

Maxime Michel created a debug overlay for Compose for Android and iOS. It includes support for feature flags, analytics, and Ktor traffic monitoring. See this Medium post for more.

Notable Releases

Maps for Compose shipped 8.6.0, with some improvements to the use of mapColorScheme. Note that 9.0.0-rc02 was also cut recently, so a 9.0.0 stable release seems imminent.

Coil 3.6.1 fixes a bug where JS builds failed when ES modules were enabled.

Compose Native WebView released 1.0.2 and 1.0.3. Overall, they add rendering frame-rate diagnostics and fix an issue with the JS bridge.

Vortex shipped 0.4.0 and 0.4.1, each with bug fixes.

A Very Particular Set of Skills

Adding Compose capabilities to your coding agents!

Here are a few new agent skills related to Compose and Compose Multiplatform:

Featured here? Please add this badge to your article or repo! As Seen In - jetc.dev Newsletter Issue #330

Powered by Buttondown

Or, you can subscribe to the Atom feed or follow Mark Murphy on Mastodon or Bluesky.

Spread the Word!
Suggestions?
If you have ideas for items for future newsletter editions, reach out via email or contact Mark Murphy on kotlinlang Slack!