
React Native support for Sentry - dikaiosune
https://blog.sentry.io/2017/03/14/react-native
======
faceyspacey
This is awesome. They need to make source map generation for react native more
automatic though.

I suggest integrating with something like this:

[https://github.com/mondora/code-push-travis-
cli](https://github.com/mondora/code-push-travis-cli)

And getting a complete Travis boilerplate going. I recently requested Travis
add Microsoft Code Push as a deployment "Provider." There's an unfulfilled
opportunity here for Microsoft code Push and Sentry to become an easier
deployment strategy in your CI setup. Microsoft is incorporating Code Push
into their Mobile Center product, but a solution should exist outside of that
as well, plus it's surprising such a setup hasn't been popularized more
generally in any CI setup this far.

I know Code Push is just one deployment provider, but Sentry integration on RN
hasn't been clear and it's best to start somewhere. Basically for the top 3-5
deployment solutions, they and their customers would benefit from having
example integrations. In addition, manual upload of source maps in the panel
is very important too, ie for apps that haven't gotten their CI setup built
yet.

Their problem has been that in terms of JS they started out for web and you
can easily put the URL of your source map in the footer of builds produced my
webpack. So for web they have always been easy. But RN was always a novelty
for them until now. To really increase their audience I recommend they make
providing source maps from RN as painless as possible.

And they should do all this before Microsoft eats their lunch, as Code Push
integration is on the horizon for integration into mobile center. And in that
product they will have stack traces for both native and JavaScript, and likely
source maps perfectly handled and automatically. There are still reasons why
you would want to use a more general purpose CI server instead, such as
Travis. But why let Microsoft beat them to the punch for what is their core
business: remote stack traces and debugging information.

~~~
the_mitsuhiko
> This is awesome. They need to make source map generation for react native
> more automatic though.

Yes, we are working hard on making it more automatic. The xcode integration is
the one we focused on initially because anecdotical experience shows that this
is what people like to use when given a choice.

Sadly react-native's tooling is not particularly uniform so far so each of the
many modes (iOS simulator, iOS debug on device, iOS to production via Xcode,
iOS to production via manual packager, expo, Android Studio, manual android
builds etc.) are all not going through one common system.

To make the xcode builds in particular we are actually doing quite an
elaborate hack. [https://github.com/getsentry/sentry-
cli/blob/master/src/comm...](https://github.com/getsentry/sentry-
cli/blob/master/src/commands/react_native_xcode.rs)

~~~
faceyspacey
I was actually just referring to the JavaScript, as you have supported JS in
RN for some time now. Obviously now that ur doing the native combo u also
gotta get native source mapping as well. But I would recommend taking what u
started to 100% before getting bogged down by native integration.

In short an example using Code Push and Travis would go a long way for you
guys and could be done in a weekend. Just use the above Code Push Travis Cli
tool. I think a lot of developers would see the path toward RN sentry
integration way more clearly if they could see that. Even if they are using
other deployment and ci providers.

JS on its own is also more important. Tools like Crashyltics are already
mature and automated for native stack traces. People don't mind mixing two
solutions if they know they are using high quality solutions for what they
specialize in. I want to use sentry for JS, but i need to know sentry is
serious about integration with react native. Up until now it has felt like a
shaky afterthought. Now it feels like ur taking it seriously but skipping a
step. Make the original JavaScript integration on point and painless.

~~~
the_mitsuhiko
Native is just one part. Most of the work is going into managing sourcemap
generation through all the various release methods which includes code push.
Right now that process is just too manual and some of the sourcemaps that come
out of react-native require some extra processing.

We were holding off from targeting this for a while because it feels like with
every release of react-native some stuff in the processing pipeline changes
which breaks sourcemap generation.

~~~
faceyspacey
that makes sense. i guess we're all waiting for things to reach the
appropriate point of maturity before investing the time. im excited to use
sentry when this all comes together.

