We just released react-native-runtimes! ๐ฅณ
๐ Render React components on separate JS Runtimes
๐ Share state (Zustand) across Runtimes, synced in C++
๐ Dual-Thread-approach for rendering/business logic
We plugged this into MetaMask which made the app start substantially faster:
actually, people with a brain are earning much more and living in one of the best places on earth
not hating on people who leave for better opportunities, but you can work hard to stand out and get much better salaries (it's not that hard since the average level is not too high, sadly)
react-native-cover got a huge release for Android๐ฅณ
v0.1.3 fixes reliability issues when showing the cover on Android.
The module is starting to look very stable. Will do some monitoring in the next few weeks.
https://t.co/HLyDa4zGqT
@BoazWith Yep, exactly! Had to gate it by API 30+. Older Androids fall back to the previous path, which works fine, since the snapshot is captured later.
@BoazWith It was both. There was a race condition, since some devices captured the Recents snapshot faster than the cover was shown. The fix was to use SurfaceControlViewHost.
Itโs so hard to get it right. It canโt be achieved in the JS thread by listening to `appState` changes.
On iOS, you have to accept the tradeoff of showing it when state changes to `background`, not `inactive`, since the latter is triggered by biometrics, permissions, etc.
Android is very tricky. You have to listen to home and recent tap events, because the activity stopped event fires too late to update the UI. Activity paused event has the same problem as `inactive` on iOS. Even with this, I still have to polish it, since the home event sometimes fires too late as well (Android things ๐).
Modals were pretty straightforward.
Iโm sure it can be improved a lot, but itโs good enough for a 0.x version.
Feel free to DM for more details or check the code in the repo (critiques welcome).
Introducing react-native-cover๐
Stop sensitive data from leaking into the iOS App Switcher and Android Recents.
โก Fully native, zero JS overhead
๐จ Solid color, image, or blur
๐ Light & dark mode
๐ซ Customizable fade animation
We just cut the SDK 56 beta ๐
โ 50%+ faster iOS builds (precompiled XCFrameworks) โ 40% faster cold starts on Android
โ Expo UI is stable
โ iOS widgets are stable
โ expo-router rebuilt from scratch
โ Inline native modules
โ Brownfield multi-app support
The obvious themes are speed and stability. But there are a lot of other interesting changes (like Expo Router decoupling itself form React Navigation). Get all the nuance and detail in the changelog below โ