haroldadmin / MoonShot

A SpaceX companion app for Android
161 stars 18 forks source link

Migrate to open source ACRA crash reporting #32

Open haroldadmin opened 4 years ago

haroldadmin commented 4 years ago

One of the larger goals of MoonShot is to be eventually available on F-droid, but doing that requires us to move away from Firebase Crashlytics.

ACRA is an open source crash-reporting solution which we can look into as a replacement.

Tasks:

Once this shift is complete, we can start work on #21

subbramanil commented 4 years ago

Hi @haroldadmin, I would like to take a stab at this. Please assign it to me.

haroldadmin commented 4 years ago

I've assigned the issue to you. Please go ahead.

subbramanil commented 4 years ago

Hi @haroldadmin,

I have started working on the feature a few days ago. Setting up Acrarium on the local machine wasn't hard. However, I had to tweak a few things from their documentation.

To make Acra work with the Moonshot app, I disabled Crashlytics (for obvious reason) and also had to disable WhatTheStack library. I believe as WhatTheStack library catches the Uncaught exception before Acra, so Acra didn't send any report. But I guess that's the expected behavior on debug builds.

Here are some screenshots of the Acrarium

Home Screen

Screen Shot 2020-10-05 at 8 38 39 PM

Bugs Screen

Screen Shot 2020-10-05 at 8 38 54 PM

Bug Detail Screen

Screen Shot 2020-10-05 at 8 53 19 PM

Reports Screen

Screen Shot 2020-10-05 at 8 41 29 PM

Statistics Screen

Screen Shot 2020-10-05 at 8 41 08 PM
subbramanil commented 4 years ago

As you can see, the Acrarium has the basic features and the UI looks pleasing (not feature-rich though).

To evaluate Acrarium(Or any other similar tools), It would be better to set up a few basic parameters and expectations. I feel the license(Acrarium is open source), hosting & storage costs may be the obvious ones. Is there anything else you would like to know more before the actual integration?

haroldadmin commented 4 years ago

@subbramanil I have been using Firebase Crashlytics so far for just two things:

Acrarium looks good enough for both use cases. My only remaining concern is how does it deal with obfuscated stacktraces.

As for the hosting and costs, I am planning to host it on an existing personal DigitalOcean server. Maybe further down the line we can look for Github Sponsors to deal with the costs.

Thanks for the detailed breakdown and screenshots. Really appreciate all the work you have put in.

subbramanil commented 4 years ago

@haroldadmin I'm sorry. Last month, I was a bit occupied and couldn't get back to your question on dealing with obfuscated stack traces. I will try to get some more details on that and figure out solutions.

haroldadmin commented 4 years ago

That's perfectly fine, please take your time :)

subbramanil commented 3 years ago

Hey @haroldadmin, Been a while., Things happen in life, and I couldn't spend as much time as I planned originally. It took a while to sort things out. I hope things are going well for you.

Not sure if you still would like to move ahead on the ACRA idea. Tbh, I also need to refresh on the changes on ACRA as it's been a while. Let me know what do you feel, and I will take some time in the next few weeks based on that.

haroldadmin commented 3 years ago

That's completely fine, I've been guilty too of letting the project be unmaintained for so long. Final year of university alongside a full time job have caused things to be hectic.

I plan to get back to maintaining MoonShot soon. There are multiple more pressing issues to attend to, such as migrating to the newer version of the SpaceX API as well as getting launch notifications working. As such, I don't think migrating to ACRA is the top priority right now.

Perhaps it's best to place this issue on the icebox for now, and come back to it later when the project is updated with the new SpaceX API.

subbramanil commented 3 years ago

Makes sense.

Wish you good luck with your studies and with the full-time job!