Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#3436 closed change (fixed)

"Always send" option of the crash reporter doesn't work

Reported by: mario Assignee:
Priority: P3 Milestone: Adblock-Browser-for-iOS-1.3.0
Module: Adblock-Browser-for-iOS Keywords: salsita
Cc: sven Blocked By:
Blocking: Platform: Adblock Browser for iOS
Ready: no Confidential: no
Tester: Scheer Verified working: yes
Review URL(s):

Description (last modified by mario)

Background

#3272 introduced a third party crash reporter. Every time the app crashes it will prompt the user to send a crash report (see original issue for more details). Said prompt introduces an option to "always send" crash reports without prompting the user anymore.
In order to make use of this feature implement the following changes.

Want to change

Changes to the app's behaviour

  1. When tapping "Always Send" (after being prompted to send a crash report) save this user decision and always send crash reports upon crashes without prompting the user anymore unless this option is later on changed.
  2. When tapping "Don't Send" (after being prompted to send a crash report) save this user decision and never send crash reports upon crashes without prompting the user anymore unless this option is later on changed.

Changes to UI

  1. When tapping "Always Send" or "Don't Send" (after being prompted to send a crash report) display this modal dialog (please use an iOS system dialog for displaying this content. This will have a slightly different layout than shown in the screenshot).

Headline: Crash Reports
Text: You can change this setting at any time in:
Text in bold: Settings → Crash Reports
Button: Got it

  1. When tapping "Got it" the modal dialog closes.

Changes to configuration

  1. Add a new settings option to the category "General" as shown in this screenshot.

Text: Crash Reports

  1. After tapping the new settings option "Crash Reports" display the crash report options as shown in this screenshot containing the following functionality:
    1. When selecting "Always" always send crash reports upon crashes without prompting the user anymore.
    2. When selecting "Never" never send crash reports upon crashes without prompting the user anymore.
    3. When selecting "Ask me after a crash" always prompt the user to send a crash report upon crashes (as outlined in #3272).

Title: "Crash Reports"
Text above options: "SEND CRASH REPORT"
Text for option 1: "Always"
Text for option 2: "Never"
Text for option 3: "Ask Me After a Crash"
Text below options: "Only anonymized data containing device information and crash details are sent. Please refer to our privacy policy at adblockplus.org for more information. Open privacy policy."

Remark for testers

In order to test these changes you need to intentionally crash the app. Please consult #3525 to do so.

Attachments (7)

adblock browser iOS 71 - crash report dialog.png (4.5 KB) - added by pavelz 4 years ago.
adblock browser iOS 71 - crash report settings 1.png (6.5 KB) - added by pavelz 4 years ago.
adblock browser iOS 71 - crash report settings 2.png (3.8 KB) - added by pavelz 4 years ago.
IMG_3987.PNG (83.0 KB) - added by pavelz 4 years ago.
The original HA dialog
adblock browser iOS 71 - crash report dialog.2.png (165.5 KB) - added by pavelz 4 years ago.
Proper full size
adblock browser iOS 71 - crash report settings 1.2.png (189.1 KB) - added by pavelz 4 years ago.
Proper full size
adblock browser iOS 71 - crash report settings 2.2.png (168.6 KB) - added by pavelz 4 years ago.
Proper full size

Download all attachments as: .zip

Change History (23)

comment:1 Changed 4 years ago by pavelz

Oh. That might be HockeyApp bug even. There are only 3 options for the report sending method: Disabled, Always send and Always ask.
https://github.com/bitstadium/HockeySDK-iOS/blob/0bf1bd929c0684708f6c9cf1bfb3e81655803579/Classes/BITCrashManager.h#L48
The only applicable option for us is "Always ask", which, well, is probably always asking. I will post a question on their support forum

comment:2 Changed 4 years ago by pavelz

Not a bug. We were holding it wrong. The selected reporting mode is saved in an app setting and the app is supposed to verify the setting and set it to initial "Always ask" ONLY if it is not set yet.
https://github.com/bitstadium/HockeySDK-iOS/blob/develop/Classes/BITCrashManager.h#L178
We were setting it always on every start, thinking that it's some kind of "mode of operation" and the selected value is saved elsewhere. Implementing this is not a big task. But there is a need for additional UI:

  1. an information which should appear immediately after the user sets "Always send" or "Never send", informing user about the method of making the confirmation dialog start appearing again. Simplest would be another popup immediately after the HA popup. Texting needed. Something along "If you want to have a select a crash reporting mode again, go to Settings"
  1. an actual place for the reset method. Should be a button which is visible when the setting is one of "Always" or "Never". Without much thinking, the "About application" screen comes to mind. Texting needed. Something along "Click Reset if you want to select the crash reporting mode again".

comment:3 Changed 4 years ago by mario

  • Cc sven added

@pavelz, thanks for the explanation. Adding those two element makes sense.

@sven, mind providing a styleguide for that?

comment:4 Changed 4 years ago by pavelz

  • Keywords needs-design added

Changed 4 years ago by pavelz

The original HA dialog

Changed 4 years ago by pavelz

Proper full size

Changed 4 years ago by pavelz

Proper full size

Changed 4 years ago by pavelz

Proper full size

comment:5 Changed 4 years ago by mario

  • Description modified (diff)
  • Type changed from defect to change

comment:6 Changed 4 years ago by mario

  • Cc lisa added
  • Keywords needs-design removed

comment:7 Changed 4 years ago by mario

  • Description modified (diff)

comment:8 Changed 4 years ago by mario

  • Description modified (diff)

comment:9 Changed 4 years ago by lisabielik

Please change:

"Always"
"Never"
"Ask me after a crash"

to

"Always"
"Never"
"Ask Me After a Crash"

comment:10 Changed 4 years ago by mario

  • Cc lisa removed
  • Description modified (diff)

Added Lisa's changes to the issue description.

comment:11 Changed 4 years ago by pavelz

@mario regarding your added "Remark for testers", it seems that we need a dependable crash. I suggest a button which would appear in all builds except release. Fill a feature request if you agree. I propose text "Crash the app now".

comment:12 Changed 4 years ago by mario

  • Description modified (diff)

@pavelz, I've created an Issue for this: #3525

comment:13 Changed 4 years ago by mario

  • Description modified (diff)

comment:14 Changed 4 years ago by jand

  • Resolution set to fixed
  • Status changed from new to closed

comment:15 Changed 4 years ago by mario

  • Milestone set to Adblock-Browser-for-iOS-next

Batch modify: added Adblock-Browser-for-iOS-next milestone.

comment:16 Changed 4 years ago by scheer

  • Tester changed from Unknown to Scheer
  • Verified working set
  • App's behaviour:
    1. When tapping "Always Send" the users selection is saved and crash reports are always sent.
    2. When tapping "Don't Send" the users selection is kept and they are no longer prompted to send a report upon a crash.
  • UI Changes:
    1. When tapping "Always Send" or "Don't Send" a modal dialog is presented stating 'Crash Reports - You can change this setting at any time in: - Settings->Crash Reports - Got it'
    2. When tapping "Got it" the modal dialog closes.
  • Configuration Changes:
    1. A new settings option is available in the category "General" named 'Crash Reports'.
    2. After tapping the new settings option "Crash Reports" the crash report options 'always', 'Never' and 'Ask Me After a Crash' are displayed. Currently, for development builds 'Generate Test Crash' is also shown.
    3. When selecting "Always" the crash reports always send without prompting the user anymore.
    4. When selecting "Never" crash reports are never sent and the user is no longer prompted.
    5. When selecting "Ask me after a crash" the user is always prompted to send a the crash report.

ABB 1.3.0-qa (824)
iPhone 6 Plus - iOS 9.2.1

Note: See TracTickets for help on using tickets.