Krzysztof Magiera's Avatar

Krzysztof Magiera

@kzzzf.bsky.social

Software Mansion • React Native • Radon IDE

1,389 Followers  |  104 Following  |  83 Posts  |  Joined: 11.05.2023  |  2.2651

Latest posts by kzzzf.bsky.social on Bluesky

If you have any feedback from using the tool I'd be super valuable to hear your thoughts. Thanks!

05.05.2025 21:11 — 👍 6    🔁 0    💬 0    📌 0

We also contribute changes or work with other tools that we integrate such that we can eventually get rid of these with some future versions of RN.

05.05.2025 21:11 — 👍 5    🔁 0    💬 1    📌 0

There are a couple of "hacks" that may be considered fragile but they typically stem from current limitations in RN tooling. A lot of them are mitigated or completely obsolete on newer versions of RN while we keep them around in order to support older versions.

05.05.2025 21:11 — 👍 4    🔁 0    💬 1    📌 0

It might seem to be too good to be true, but we’ve worked hard over many months to get it to the point we're at now.

There are still some rough edges but works very well for many people already.

05.05.2025 21:11 — 👍 4    🔁 0    💬 1    📌 0

🙋‍♂️ will be there

18.04.2025 09:04 — 👍 3    🔁 0    💬 1    📌 0
Radon AI | Radon IDE – An IDE for React Native Radon AI is a GitHub Copilot Chat participant enhanced with up-to-date information about the React Native ecosystem.

Read more about Radon AI: ide.swmansion.com/docs/feature...
And check out the full changelog for the 1.5 release: github.com/software-man...

14.04.2025 13:21 — 👍 3    🔁 0    💬 0    📌 0

Introducing Radon AI for GitHub Copilot!
📚It taps into our daily-updated database of docs & code samples from top libraries in RN directory, giving Copilot the best context for your queries
🧐It understands versions of packages you're using for improved quality of suggestions

14.04.2025 13:21 — 👍 5    🔁 0    💬 1    📌 0
Post image

🚀 Radon IDE 1.5 is out!

🚨🚨 NEW 💬 Radon AI – Chat participant for GitHub Copilot with up-to-date React Native knowledge

And more:
⚡ Improved EAS workflows
📱 Home / App Switch buttons support
🪲 Improved error & exception handling with clickable links
🔧 Support for RN 0.79

14.04.2025 13:21 — 👍 15    🔁 5    💬 1    📌 1
Video thumbnail

Just published Radon IDE 1.3 with:
🛜 built-in Network Inspector
0️⃣ zero config integrated Redux DevTools
💅🏻 the panel now matches editor theme by default (contributed by @kszlezingier.bsky.social )
👾 number of important fixes to debugger and project workflows

Install it here: ide.swmansion.com

11.02.2025 15:43 — 👍 25    🔁 1    💬 0    📌 0

It required small changes to Fabric but thanks to the help from Meta we got that sorted a long time ago. Other than that Fabric is really well designed and we would have to make a ton of compromises if it wasn't in place and we had to work with the old architecture (that's why Rea4 is Fabric only)

22.01.2025 10:33 — 👍 5    🔁 0    💬 0    📌 0

As for the compromises, there isn't anything significant that comes to mind. The biggest challenge was to figure out how to handle prop updates that aren't triggered by react re-renders, but we actually come up with the right technique in Reanimated 3 already when integrating with Fabric.

22.01.2025 10:33 — 👍 5    🔁 1    💬 1    📌 0

Those are all great questions. We have a good contact with people at meta and been discussing this as well. There are definitely different tradeoffs so difficult to say at this point if this will land upstream in the near future.

22.01.2025 10:33 — 👍 3    🔁 0    💬 1    📌 0

This is the most important update to Reanimated since worklets. Really proud of the team 🐎

21.01.2025 17:13 — 👍 33    🔁 9    💬 2    📌 1

There’s a chance this will work without being wrapped. I don’t know to be honest. Of course as long as you don’t nest buttons under components that use gestures too

19.01.2025 12:21 — 👍 3    🔁 0    💬 0    📌 0

So you can’t make the Animated wrapper for a component that is already wrapped. BTW: reanimated doesn’t have this restriction but the example is for Animated API not Reanimated

19.01.2025 12:21 — 👍 3    🔁 0    💬 1    📌 0

I don’t know if it is needed. Would have to try it. All button components are by default wrapped this way such that they can be referenced in other gesture detectors for orchestration. The “pure” button is not wrapped because Animated requires direct native component for createAnimatedComponent

19.01.2025 12:21 — 👍 3    🔁 0    💬 1    📌 0
Preview
Buttons | React Native Gesture Handler Gesture handler library provides native components that can act as buttons. These can be treated as a replacement to TouchableHighlight or TouchableOpacity from RN core. Gesture handler's buttons reco...

If you need that animation to run as worklet, this would require diving a bit deeper into mostly undocumented "PureNativeButton" docs.swmansion.com/react-native... – there's example code there for Animated but you can do something similar with Reanimated and then pass worklet to onActiveStateChange

17.01.2025 22:54 — 👍 3    🔁 0    💬 2    📌 0
Preview
Buttons | React Native Gesture Handler Gesture handler library provides native components that can act as buttons. These can be treated as a replacement to TouchableHighlight or TouchableOpacity from RN core. Gesture handler's buttons reco...

this could be some bug in Pressable implementation. By this fragment I can't tell if Pressable is imported from Gesture Handler or from React Native. For this usecase I'd recommend trying BaseButton and use onActiveStateChange to trigger the animation: docs.swmansion.com/react-native...

17.01.2025 22:54 — 👍 4    🔁 0    💬 2    📌 0
Configuring the IDE | Radon IDE – An IDE for React Native On this page we only discuss configuration that aims to deal with non-standard React Native project setups.

Sorry to hear that. You can use customBuild configuration which allows you to specify build command that then could just print the apk location ide.swmansion.com/docs/guides/... but if you have time I would appreciate if you could file an issue so that we can find a proper fix

15.01.2025 18:03 — 👍 0    🔁 0    💬 1    📌 0
Preview
Release v1.2.0 · software-mansion/radon-ide What's Changed Add support for react native 77 by @filip131311 in #864 Improve device settings by @filip131311 in #869 Update disabling of UrlBars buttons by @p-malecki in #871 Add feedback modal...

Full changelog and local download options available from releases page: github.com/software-man...

15.01.2025 13:11 — 👍 2    🔁 0    💬 0    📌 0
Post image

First Radon IDE update in 2025 with:
🔧 Redux and React Query tools (more tools incoming)
7️⃣ support for RN 0.77
🏗️ local EAS builds support
📱 ui updates making more room for device
🏋️ more stability improvements and bug fixes
Radon IDE is also now available in Windsurf 🌊

15.01.2025 13:10 — 👍 34    🔁 1    💬 2    📌 0

Great minds think alike

15.01.2025 07:12 — 👍 3    🔁 0    💬 1    📌 0

the difference here is that unsubscribing from queries also prevents the query logic from running (I don't know react query well enough to be able to tell how much of a saving that could be). So in this case it also skips the query logic + the render (unless there's another factor triggering render)

14.01.2025 23:19 — 👍 5    🔁 0    💬 1    📌 0

freeze works automatically across all the screens in the app, so there's no need to configure that on individual query level, and it is also agnostic to whoever triggered re-render.

14.01.2025 23:19 — 👍 3    🔁 0    💬 1    📌 0
Preview
VirtualizedList · React Native Base implementation for the more convenient ` and components, which are also better documented. In general, this should only really be used if you need more flexibility than FlatList` provides, e.g. ...

With FlatList you could use renderScrollComponent prop reactnative.dev/docs/virtual... so when you want to achieve something similar, you could pass a render function that renders Reanimated.ScrollView instead of normal one

03.01.2025 08:59 — 👍 1    🔁 0    💬 1    📌 0

depends what you want to do with it. I imagine this is for animating underlying scroll view properties. In that case you could just swap out the ScrollView with one exported by reanimated (Reanimated.ScrollView). This way you wouldn't need that intermediate class component there at all.

03.01.2025 08:59 — 👍 0    🔁 0    💬 1    📌 0

Noted 🫡 but I’d expect this time for real this isn’t bug in screens. It just uses freeze on screens that aren’t visible which is the case of preloaded ones. So I’d require this information to be provided by navigation which is perhaps not happening

08.12.2024 08:07 — 👍 4    🔁 0    💬 2    📌 0

The reason is that GH exports already "wrapped" component which apparently doesn't have a way of configuring the behavior you want here. So when you wrap it in a second "wrapper" the things just don't work. Again – the culprit is again a lack of docs / examples

07.12.2024 22:58 — 👍 1    🔁 0    💬 0    📌 0

One thing that you noted in a comment on github.com/software-man... is that it only works with regular ScrollView or Animated.ScrollView, but doesn't work with ScrollView exported from Gesture Handler.

07.12.2024 22:58 — 👍 2    🔁 0    💬 1    📌 0

Thank you for investigating this and sorry you had to go through that. I see this is extra confusing and specifically around Gesture.Native there's a lack of proper documentation and example.

07.12.2024 22:58 — 👍 1    🔁 0    💬 1    📌 0

@kzzzf is following 20 prominent accounts