Code Monkey home page Code Monkey logo

Comments (13)

tomholub avatar tomholub commented on July 24, 2024 1

I had to set up a custom ACRA backend because Acralyzer is very finicky, it would not install, CouchDB keeps timing out and giving errors, then when finally installed it was not done properly, etc.. not good.

It will be accepting data in JSON format, see https://github.com/ACRA/acra/wiki/Report-Destinations#data-encoding-formjson

The reporting url is https://api.cryptup.io/help/acra - will be deployed in 15 minutes

from flowcrypt-android.

tomholub avatar tomholub commented on July 24, 2024 1

the backend is now sending emails when it receives a report

the email subject will have a hash of the stack trace, so same errors should group together in email conversation.

from flowcrypt-android.

tomholub avatar tomholub commented on July 24, 2024

I agree. I'd love to use Crashlytics, but I have to double check the privacy implications. It would suck if people's private information was leaking due to crashes reported on Crashalytics.

I think I remember it giving you a lot of variables involved in the crash, hypothetically, some of it may contain text that is supposed to be encrypted later. If it can be set up to no leak these things, it'll be great to use it. Otherwise we may need to look elsewhere.

In JavaScript I do my own crash reporting. It's not as pretty as Crashlytics but it covers the basics.

I'll research this.

from flowcrypt-android.

tomholub avatar tomholub commented on July 24, 2024

Now that I'm looking at it, I will very happily set up https://github.com/ACRA/acralyzer on our backend for production use. Then we have 100% control over the data, and adjust it so that we never receive or store anything truly sensitive.

from flowcrypt-android.

DenBond7 avatar DenBond7 commented on July 24, 2024

Ok, no problem. ACRA is a good solution too.

from flowcrypt-android.

tomholub avatar tomholub commented on July 24, 2024

This will be the last issue I've moved to version 9, so that we can finally release a new version :)

from flowcrypt-android.

tomholub avatar tomholub commented on July 24, 2024

Is this enabled for production builds as well? I have built & signed the app and sent it to someone and it has crashed on them a few times, but I didn't receive any reports from ACRA.

from flowcrypt-android.

DenBond7 avatar DenBond7 commented on July 24, 2024

Is this enabled for production builds as well?

No, it's not. I will do it now.

from flowcrypt-android.

tomholub avatar tomholub commented on July 24, 2024

kk great

from flowcrypt-android.

tomholub avatar tomholub commented on July 24, 2024

I crashed the debug app with this code:

    public void crashTheApp() {
        this.crashTheApp();
    }

    public PgpDecrypted crypto_message_decrypt(String data, String password) {
        // db,account_email,encrypted_data,one_time_message_password,callback,force_output_format
        Long start = System.currentTimeMillis();
        V8Array params = new V8Array(v8).push(NULL).push("").push(data).push(password).push
                (cb_catcher).push(NULL);
        this.call(void.class, new String[]{"crypto", "message", "decrypt"}, params);
        Long end = System.currentTimeMillis();
        System.out.println("duration decrypt: " + (end - start));
        this.crashTheApp();
        return new PgpDecrypted((V8Object) cb_last_value[0]);
    }

App crashed, Gmail opened, and I don't see report in backend.

I will test the production build too.

from flowcrypt-android.

tomholub avatar tomholub commented on July 24, 2024

Tested this on production as well. The gmail app shows.

The intended behavior is:

  • when app crashes, ACRA should send report to our backend
  • no email app should come up
  • user should not be prompted. Since these are Alpha releases, we should know about every crash
  • it should not be sent by email, only to our backend

Here is a screen shot after the crash of production build:

screenshot_20170928-142556

from flowcrypt-android.

tomholub avatar tomholub commented on July 24, 2024

this is a functioning curl request

The JSON payload can be anything - backend will just save it.

curl -X POST \
  https://api.cryptup.io/help/acra \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "something": "blahblah", 
    "something_else": "blah"
}'

Also Java example:

OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"something\": \"blahblah\", \n    \"something_else\": \"blah\"\n}");
Request request = new Request.Builder()
  .url("https://api.cryptup.io/help/acra")
  .post(body)
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

from flowcrypt-android.

DenBond7 avatar DenBond7 commented on July 24, 2024

7764b9f

from flowcrypt-android.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.