Matthieu G.
matthieugc.bsky.social
Matthieu G.
@matthieugc.bsky.social
Building mobile apps with React Native.

Mistral AI / Le Chat
Reposted by Matthieu G.
Thanks to @matthieugc.bsky.social and @cyrilbo.bsky.social for this edition while I'm taking a break

And of course @ricky.fm for the extra React team message and great newsletter shoutout 🤗
April 23, 2025 at 8:57 PM
Awesome! You say it's compatible with old arch, but I guess the perf is not as good without sync layout?
April 23, 2025 at 2:29 PM
I might work on this lib to manipulate iOS/Android devices, add a few features, create an MCP server that uses it 🙂
GitHub - matthieugicquel/device-shaper: JS/TS APIs to manipulate iOS and Android simulators
JS/TS APIs to manipulate iOS and Android simulators - matthieugicquel/device-shaper
github.com
April 18, 2025 at 11:34 AM
I'm wondering the same...
I guess the usual for caching: disk space usage, and stale results if the cache key is not good enough (if the length of the docs is any indication, it's probably good enough 🙂https://ccache.dev/manual/4.10.2.html#_how_ccache_works)
February 12, 2025 at 4:25 PM
github.com/bluesky-soci... of course 🙂

Also this french govt app: github.com/pass-culture...
January 6, 2025 at 10:24 AM
May I ask what extension/setting displays the inferred return type?
November 29, 2024 at 6:53 PM
Here's an example I found in the codebase I'm working on. How would you migrate it? 🤔

Of course there are other ways to do icons, but it's a legit approach...

(I simplified the code, there are other props like `size` in the real version)
November 29, 2024 at 6:51 PM
It's good to get best-perf-by-default, but rerenders are ok sometimes. If they weren't we would be using jQuery not React 😅.

I wonder how this will compose with reanimated (needing theme in animated styles) or some uses of react-native-svg.
I'll try to migrate and report back 🙂
November 29, 2024 at 5:33 PM
What a great release 😀
The createUnistylesComponent api feels a bit awkward, have you thought about a useTheme hook? Maybe it’s not possible with the way things work on the C++ side?
November 29, 2024 at 4:10 PM
In React Native where navigating != (un)mounting, it can also happen just by navigating, can't it?
screenA (staleTime 1min) → navigate to screenB (staleTime 10min) → go back to screenA (it is still mounted) → no refresh.
November 20, 2024 at 1:11 PM
Or maybe always keeping the shortest timer instead of the most recent?
November 20, 2024 at 12:55 PM
I see. This feels a bit like the code will be lying: if I get a bug report that a screen doesn't refresh, the code will say `staleTime: x` and I'll have to track down where the timer increase comes from across the codebase.
What about enforcing equal staleTime or at least warning about overrides?
November 20, 2024 at 12:54 PM
This looks like a great change (the persistence part is nice 😁), but I don't really get how you can have only 1 timer and 1 flag per query/queryKey, but different staleTimes for different screens? The more recently mounted screen will override the previous time, won't it?
November 20, 2024 at 12:42 PM
Not that I know of, but here’s an example of a component that does it: github.com/infinitered/...

The new useImage hook in expo SDK 52 might help too :)
October 31, 2024 at 4:43 PM