Closed Bug 1799874 Opened 3 years ago Closed 2 years ago

Thunderbird troubleshooting page should report OpenPGP/RNP library status

Categories

(MailNews Core :: Security: OpenPGP, defect)

defect

Tracking

(thunderbird_esr102 fixed)

RESOLVED FIXED
109 Branch
Tracking Status
thunderbird_esr102 --- fixed

People

(Reporter: KaiE, Assigned: KaiE)

References

Details

Attachments

(2 files, 2 obsolete files)

I repeatedly see complaints from users that the OpenPGP functionality is nonworking for them, or absent, such as a missing End-To-End-Encryption tab in account settings.

We know that some distributions fail to provide the required RNP library.

I suggest that we show a notification on startup, if we fail to load the required library.

In addition, we know that some distributions ship a library that replaces Thunderbird's RNP library with something else, and therefore gives a different user experience/behavior of the OpenPGP component. It might be reasonable to notify users about that configuration, too.

I'd prefer to add this on the stable esr102 branch, soon. The trouble is localization.

Assignee: nobody → kaie
Status: NEW → ASSIGNED
Summary: Notify the user if the OpenPGP feature is nonworking because of a missing library → Notify the user if the OpenPGP feature is nonworking because of a missing library (or an unofficial library)
Attached patch 1799874-esr102.patch (obsolete) — Splinter Review

Description of what this patch does:

If the library cannot be found at all, we show a notification in red:
"Error: Cannot load RNP library, OpenPGP will not work."

If a library was found, but our attempt to access expected symbols fails,
the same error notification will be shown.

If the above passes, but we notice the library version is old, we notify:
"Error: Outdated RNP library, OpenPGP will not work."

All of the above are "red" notifications, and we cannot offer OpenPGP at all, functionality will be broken.

If we are able to load the library, but we cannot find .MZLA in the version string
(e.g. for the "Octopus" library),
we are able to proceed and enable the OpenPGP code, but it notifies in yellow:
"Warning: Unofficial RNP library, OpenPGP functionality might not work as expected."

Maybe this is already done (don't see that in the patch at first glance), but it could be a good idea to dump to the TB log some details about 'where RNP was looked for', 'which version was found' and so on, for (possible) easier debugging in some unexpected cases which may happen.

This patch seems a bit half-baked to me, unless I'm missing something, I agree with Rob's concerns:

  1. Shipping an unlocalized warning message in the actual UI of Thunderbird(not console) is not something we should be doing unless there is a real emergency, and I don't see an emergency here?

  2. We shouldn't be displaying errors to people who don't care about them. If someone isn't using PGP at all they shouldn't see this error. This combines with point 1 to produce a really poor experience for users in non-English locales who don't care about this.

  3. If this error is on the main window/at startup, it has to be dismissable and store the dismissal. If it's somewhere users won't see it unless they're setting up OpenPGP details, it's somewhat okay for it to be persistent.

(In reply to Andrei Hajdukewycz [:sancus] from comment #5)

  1. Shipping an unlocalized warning message in the actual UI of Thunderbird(not console) is not something we should be doing unless there is a real emergency, and I don't see an emergency here?

It isn't an emergency, but it would be nice to have a solution for 102.x, to minimize related support requests during the next 9 months.

  1. We shouldn't be displaying errors to people who don't care about them. If someone isn't using PGP at all they shouldn't see this error. This combines with point 1 to produce a really poor experience for users in non-English locales who don't care about this.
  2. If this error is on the main window/at startup, it has to be dismissable and store the dismissal. If it's somewhere users won't see it unless they're setting up OpenPGP details, it's somewhat okay for it to be persistent.

Alternatively to showing the notification bar, we could show a popup window the first time the user is trying to use any OpenPGP feature during a Thunderbird session.

As an option, warning message could be displayed on End-to-end encryption configuration page. If user doesn't need OpenPGP he will never get there, and user who wants to use OpenPGP/got some problems using OpenPGP would get to that page in attempt to configure/fix things.

Andrei, Rob, how should we handle the error strings for the 102 branch?
Hardcoded or "locale string that remains unlocalized, and therefore falls back to english"?

The ideal scenario we don't ship anything in English only. It's a bad experience for non English-speaking users.

My suggestion, ship with as many locales translated as we can get. Add the new strings added to comm-central before end of next week, November 18. Give the translators some time to work on them. I can get the word out somehow that these strings will be used in an upcoming release.

102.5.0 happens next week. I'd like to wait until at least 102.6.0 before shipping in 102.

I see absolutely no reason to ship this until there's l10n for at least the top 10 languages, yes. It also needs UI review from someone on Alex's team.

Ok, let's simplify, let's avoid the need for UI review and disruption, and avoid complicated code that has to decide when showing the warning is necessary.

I'm updating the patch to report information in "troubleshooting information" screen, only.
With that, all future support discussions about OpenPGP should ask for that information as the first step.

Listing the RNP library status in that place enables users to discover issues with their OpenPGP system configuration.

Attachment #9302705 - Attachment description: Bug 1799874 - Notify the user if the OpenPGP feature is nonworking because of a missing library. r=mkmelin → Bug 1799874 - Add RNP/OpenPGP library status to troubleshooting information. r=mkmelin
Attachment #9302707 - Attachment is obsolete: true
Summary: Notify the user if the OpenPGP feature is nonworking because of a missing library (or an unofficial library) → Thunderbird troubleshooting page should report OpenPGP/RNP library status
Attached patch 1799874-esr102-v2.patch (obsolete) — Splinter Review
Attachment #9303270 - Attachment is obsolete: true

Rob, do we require localization prior to backporting this to esr102?
Maybe it's fine to have the troubleshooting info in english, only?

Flags: needinfo?(rob)
Target Milestone: --- → 109 Branch

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/bce11076e60b
Add RNP/OpenPGP library status to troubleshooting information. r=mkmelin

Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED

Ideally that status message would be localized, but I think it's okay for this case if they are not. about:support is a diagnostic page, not really part of the UI. So for the moment, let's say that they're error messages and it can go ahead.

Flags: needinfo?(rob)

Thanks Rob. This isn't in beta yet. Let's wait for it to go there, and request esr102 some time afterwards.

Flags: needinfo?(kaie)

I should also reiterate that due to the recent l10n repository move, we are unable to uplift new strings to comm-esr102 right now. The supporting code is now on comm-beta, and I expect to uplift it to comm-esr102 in January.

(In reply to Rob Lemley [:rjl] from comment #18)

I should also reiterate that due to the recent l10n repository move, we are unable to uplift new strings to comm-esr102 right now. The supporting code is now on comm-beta, and I expect to uplift it to comm-esr102 in January.

Do you think this patch is ready for uplift?

Flags: needinfo?(kaie) → needinfo?(rob)

I don't have the new l10n code on 102 yet. (Possibly 102.7.0?) Otherwise yes.

Flags: needinfo?(rob)

(In reply to Rob Lemley [:rjl] from comment #20)

I don't have the new l10n code on 102 yet. (Possibly 102.7.0?) Otherwise yes.

Does this mean we need to wait for that code?

Flags: needinfo?(rob)

New L10n code is on c-esr102 now, so this should be okay.

Flags: needinfo?(rob)

Comment on attachment 9305113 [details] [diff] [review]
1799874-esr102-v3.patch

[Approval Request Comment]
Regression caused by (bug #): none
User impact if declined: none
Testing completed (on c-c, etc.): yes
Risk to taking this patch (and alternatives if risky): low

Attachment #9305113 - Flags: approval-comm-esr102?

Comment on attachment 9305113 [details] [diff] [review]
1799874-esr102-v3.patch

[Triage Comment]
Approved for esr102

Attachment #9305113 - Flags: approval-comm-esr102? → approval-comm-esr102+
Blocks: 1836634
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: