Opened 3 years ago

Last modified 3 years ago

#4672 closed change

Introduce HockeyApp event-based error reporting — at Initial Version

Reported by: mario Assignee:
Priority: P3 Milestone: Adblock-Browser-for-iOS-1.5.2
Module: Adblock-Browser-for-iOS Keywords:
Cc: pavelz, lisabielik, scheer, mario Blocked By:
Blocking: Platform: Adblock Browser for iOS
Ready: yes Confidential: no
Tester: Rraceanu Verified working: yes
Review URL(s):

Description

Background

As of 2016 HockeyApp provides a service called "HockeyApp Events" which can be used to intercept non-crashing errors/exceptions and collect them as error reports. This function is based on HockeyApp's crash report, which has been introduced with #3272.
Introducing this enables us to better understand potential problems and react faster to non-crashing errors.

What to change

HA Events
Implement HA events as described in this documentation.

Opt-In UI

  • Change Crash Reports to Crash and Error Reports in the [settings menu]
  • Change SEND CRASH REPORT to SEND CRASH AND ERROR REPORTS in the [crash reports settings menu]
  • Change Ask me after a crash to Ask me after a crash or error in the [crash reports settings menu]
  • Change Only anonymized data containing containing device information and crash details are send. to Only anonymized data containing containing device information and crash or error details are send. in the [crash reports settings menu]
  • Add a modal dialog which is shown as soon as an error is intercepted the same way as the [modal which is shown when a crash occurs]:
    • Title: Adblock Plus Encountered an Error
    • Description: Would you like to send a report to fix the problem?
    • Button 1: Send Report
    • Button 2: Always Send
    • Button 3: Don't Send

Opt-In Logic

  • As soon as an error is intercepted for the first time, show the modal dialog as described above.
    • Tapping "Send Report" will send the report once and change the [error reporting settings] to "Ask me after a crash or error"
    • Tapping "Always Send" will send the report once and change the [error reporting settings] to "Always"
    • Tapping "Don't Send" will send the report once and change the [error reporting settings] to "Never"
  • As soon as an error is intercepted the next time, base action on the [error reporting settings]:
    • If "Ask me after a crash" is active, show the modal dialog above
    • If "Always" is active, send the error report without showing the modal dialog again
    • If "Don't Send" is active, send no report without showing the modal dialog again

Restrictions
Due to the fact, that non-crashing errors could happen multiple times in a row, apply the following limitations:

  • Limit the [error report dialog] to be shown only once every minute
  • Limit the events to be sent to a technical reasonable amount in order not to slow down ABB or clog the user|s internet connection if a repeating error is intercepted in a loop

Change History (3)

Changed 3 years ago by mario

Changed 3 years ago by mario

Changed 3 years ago by mario

Note: See TracTickets for help on using tickets.