Closed Bug 2012427 Opened 7 months ago Closed 1 day ago

[meta] Crash report policy customizable on the console management UI

Categories

(Enterprise Products :: Firefox, enhancement, P1)

x86_64
Windows 10
enhancement

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: RT, Unassigned)

References

(Blocks 2 open bugs)

Details

(Keywords: meta)

User Story

Acceptance criteria
- A policy allows automatic crash report submission
- Boolean, defaults to true

Notes:
- it was brought up in the Matrix thread that not showing the UI at all could be a problematic UX, as the user would just experience a browser restart without knowing what happened. It sounds like the intended UX for normal Firefox is that the crash reporter UI appears but the submission happens automatically, leaving the user only with the information and the choice to restart or quit."
- Default UX we discussed: Use existing crash dialog, but disable option to send/not send (show disabled option, with 'send' checked)
No description provided.
User Story: (updated)
No longer depends on: 2012425

Jonathan, can you please confirm if we're able to hide the crash reporter UI in the enterprise scenario (when auto crash reporting is enabled in the console)?

Flags: needinfo?(jmendez)
Priority: -- → P1

We are able to do various things but it's all development work (the existing prefs don't do what we want). We need a clear definition of the desired UX, and there are two scenarios to consider.

  1. Main process crash
    • Current behavior: As Firefox process crashes, the crash reporter process is invoked, showing the UI and allowing user to choose whether to submit. FELT automatically restarts Firefox in parallel.
    • Possible option 1: Instead of showing the UI, the crash reporter process silently submits the crash report and FELT automatically restarts Firefox
    • Possible option 2: A simplified UI is shown with different wording ("Firefox Enterprise had a problem and crashed. Per configured policy, a report has automatically been sent to your admin.") and without the usual options. Meanwhile, FELT automatically restarts Firefox.
    • Possible option 3: Instead of showing the UI, the crash reporter process silently submits the crash report. Instead of restarting Firefox, the FELT login window is shown with an alert notification indicating that a crash occurred and that the report was automatically submitted.
      • Perhaps this option implies that if the policy is not set, the current behavior of restarting Firefox should be changed to show the FELT window and alert, but without the "automatically submitted" wording.
  2. Tab process crash
    • Current behavior: The 'tab crashed' page loads with a similar option to send a report, and to restore or close the tab.
    • Given the browser context for this scenario, I don't think a "hide the UI" option makes sense here, so our main option is to have a similar page but saying "the report has been submitted".

If you have an opinion on the desired UX, please state the criteria. My gut would be to go with option 2 for the main process crash, but that doesn't seem to fit your "hide the crash reporter UI" request.

Flags: needinfo?(jmendez)
Flags: needinfo?(rtestard)
Component: Console → Client

Thanks for suggestions, I'm aligned with you there:
1 Main process crash : A simplified UI is shown with different wording ("Firefox Enterprise had a problem and crashed. Per configured policy, a report has automatically been sent to your admin.") and without the usual options. Meanwhile, FELT automatically restarts Firefox.
2 Tab process crash : similar page with modified strings
I'll reach out in terms of how much work is needed there

Flags: needinfo?(rtestard)

My instinct is that for that option, the work is not too high (it's mainly adjusting the UI controls based on a policy setting, which can be passed via env to crashreporter). Alex Franchuk can weigh in on any potential red flags.

Flags: needinfo?(afranchuk)

For the main process crash case, the work here would not be much. Creating the UI will be somewhat trivial (showing a few strings in the dialog, if I understand correctly?), and there are already simple enough method calls to e.g. submit the crash report immediately. For inspiration: there's already an auto-submit mode of the crashreporter (though I don't think it's used much, as it is configured through an env variable that we don't set from firefox). It doesn't show a UI, but you could basically copy that logic and add a little extra logic to show a window. If I understand correctly, the window would just be for the user's understanding of what happened, since there won't be any interactive components (it sounds like something else will restart firefox)?

I'm not really familiar with the tab crash UI, but I imagine it would be fairly easy to show a different string there, too. You could probably copy the UI that is shown when auto-submission is enabled, which, I think, doesn't have any interactive components aside from close/reload buttons. Or you could just use that UI as-is? I'm not sure how important it is to illuminate that the enterprise policy is responsible for the crash report submission settings, but that's up to you.

Flags: needinfo?(afranchuk)
Severity: -- → S1
Target Milestone: --- → Pilot
Whiteboard: [size=3]
Depends on: 2019055
Depends on: 2019058
Depends on: 2019061
Depends on: 2019063
Depends on: 2019068
Keywords: meta
Summary: Crash report policy customizable on the console management UI → [meta] Crash report policy customizable on the console management UI
Whiteboard: [size=3]
Depends on: 2021320
Depends on: 2028822
See Also: → 2031994

This is available on stage:

docs: https://firefox-admin-docs.mozilla.org/reference/policies/crashreportssubmit/
Docs PR: https://github.com/mozilla/enterprise-admin-reference/pull/86
Fx Ent PR: https://github.com/mozilla/enterprise-firefox/pull/530

Example:

{
  "policies": {
    "CrashReportsSubmit": {
      "ForceAutoSubmit": true
    }
  }
}
Depends on: 2026983, 2039308
Target Milestone: Pilot 1 → MVP

Jonathan, is there anything else outstanding on this? Should we close as fixed?

Flags: needinfo?(jmendez)
Depends on: 2059588

As discussed in Berlin, we can't get away with the insecure endpoint for crash report ingestion, so I've filed Bug 2059588 which must be done before this can be considered fully complete.

Flags: needinfo?(jmendez)

We've closed 2059588, which is the last blocker, so I will close as fixed now. Thanks!

Status: NEW → RESOLVED
Closed: 1 day ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.