Closed Bug 1535116 Opened 4 years ago Closed 4 years ago

Thunderbird error message: "You've launched an older version of Firefox - Using an older version of Firefox can corrupt bookmarks..."

Categories

(Thunderbird :: General, defect)

defect
Not set
major

Tracking

(thunderbird_esr6868+ fixed, thunderbird67 wontfix, thunderbird68 fixed, thunderbird69 fixed)

RESOLVED FIXED
Thunderbird 69.0
Tracking Status
thunderbird_esr68 68+ fixed
thunderbird67 --- wontfix
thunderbird68 --- fixed
thunderbird69 --- fixed

People

(Reporter: thomas8, Assigned: darktrojan)

References

Details

Attachments

(7 files, 9 obsolete files)

23.68 KB, image/png
Details
47.55 KB, image/jpeg
Details
2.33 KB, application/octet-stream
Details
9.05 KB, patch
darktrojan
: review+
Details | Diff | Splinter Review
8.05 KB, image/png
Details
2.51 KB, patch
jorgk-bmo
: review+
Details | Diff | Splinter Review
1.04 KB, patch
Details | Diff | Splinter Review

Thunderbird should never claim to be Firefox... that's a bug.

See attached error message.

I installed latest Daily 67.0a1 (2019-03-09) (64-bit) which apparently marked my existing test profile as upgraded and incompatible with any other older version of TB.
Upon starting a slightly older version of TB Daily (maybe 3 wks old), it now rejects to start with that profile - perhaps helpful, but very annoying.
Worse, the error message is all about Firefox - which leads me to suspect that maybe TB may not need to be so strict about it?
I've always shared my test profile with all sorts of different TB versions and never experienced any problem.

Any workarounds would also be welcome, can I change a pref to force it?

(In reply to Thomas D. from comment #0)

Any workarounds would also be welcome, can I change a pref to force it?

Add --allow-downgrade on the start command.

Sigh, we should really fix that message. Richard, can you please take a look. Most likely we need to change a fixed string in M-C.

Attached patch 1535116-profileDowngrade.patch (obsolete) — Splinter Review

Jörg, you have a working Phab installation for m-c. Please could you create a Phab review?

You could also use your user name.

Maybe there is too much changed to &brandShortName; as we don't sync Bookmarks and Browsing history, but it looks better when we always show the correct application name.

Assignee: nobody → richard.marti
Flags: needinfo?(jorgk)

Richard, you can just use https://phabricator.services.mozilla.com/differential/diff/create/.

The patch can't be landed via Lando, but once the review is done, you can attach a patch for landing.

Flags: needinfo?(jorgk)

Richard doesn't have the fabulous Phab and 2FA set up yet, so I'm posting this for him.

Component: General → Startup and Profile System
Product: Thunderbird → Toolkit
Attachment #9053396 - Attachment is obsolete: true
Priority: -- → P3

Jörg, what text could we use for TB? Something like this?

Using an older version of Thunderbird can corrupt preferences and browsing history already saved to an existing Thunderbird profile. To protect your information, create a new profile for this installation of &brandShortName;.

I think browsing history isn't so important on TB. What about message indexing?

Flags: needinfo?(jorgk)

Message indexing, you mean Gloda? That hasn't changed in ages, but anything that's stored can of course change its format at some stage.

As you know, we have a "migrator" here
https://searchfox.org/comm-central/rev/9732ef6cc7414cb42f519cd3b7c1f89b9c217dca/mail/base/modules/MailMigrator.jsm#219
and at some stage that migrated an SQLite database.

Of course creating a new profile doesn't make a whole lot of sense in TB since you will lose all your e-mail setup and mail data. So I would just state the facts:

Your profile has been accessed with a newer version of Thunderbird and can no longer be used with the older version you are currently using. Creating a new profile will make it necessary to set up all your email, news, chat and feeds accounts again. Please access your profile with the newer version. Not recommended: Force access with the current version by starting it with --allow-downgrade.

[Create New Profile] [Exit]

That's my advice, Magnus may have a different idea.

Flags: needinfo?(jorgk) → needinfo?(mkmelin+mozilla)

Regarding using brandShortName: that won't fly in this case. See the original bug where they discussed that (basically you'd get a rather confusing message for Nightly vs Firefox).

Magnus, my next patch doesn't use brandShortName. I'm planning to use #ifdef MOZ_THUNDERBIRD with our own text. So what do you say to Jörg's proposal of text in the dialog?

Attachment #9053388 - Attachment is obsolete: true

I think we should override profileDowngrade.js and/or profileDowngrade.xul with our own version.

Now that it's even more possible to not care about profile compatibility, I'd say it's a safe bet that things will start breaking quite easily when someone tries to downgrade. I don't want to recommend running with allow-downgrade in the UI, since you'd easily end up completely broken. You need a backup, and an understanding of how to get your profile back into shape (with some effort)

The solution could be to have a "Help" button sending them to a knowledgebase page detailing suggestions on what to do. That they should first create a backup, create a second profile and copy over all data there, start with -P and run with that profile to test. Going back-and-forwards between versions could have you end up broken in both profiles. I think it's important for someone going to do it to understand these steps. Otherwise they easily end up with no way forwards.

Flags: needinfo?(mkmelin+mozilla)

I'll let the bug for someone that knows how and what to do regarding comment 10.

Assignee: richard.marti → nobody

You want to take a shot at this?

Flags: needinfo?(mkmelin+mozilla)
Component: Startup and Profile System → General
Product: Toolkit → Thunderbird
Attached image Confusing message

Today I had the same issue. I started Thunderbird 69 for testing and afterwards I was not able to start Thunderbird 68 (which I use on a daily basis). But worse of all, the error message is very confusing. It tells in the same message I've started an older version of Firefox and therefore I should create a new profile for Thunderbird (??). This message clearly should be improved.

IMO this is a very high priority - we should ship an improvement (not necessarily perfection) in beta 2 in the next 5-10 days, so that beta users don't get scared off the channel.

I've cc: more early beta testers for wider feedback.

Severity: normal → major
Flags: needinfo?(alessandro)
Priority: P3 → --

Thanks for pulling me into this.
So, if I'm not wrong here's the recap of the steps we could follow to find a quick solution before beta 2:

  • Update the copy to replace FF with TB and properly highlight what could be damaged.
  • Adding an [help] button to redirect the user to a specific page with explanations on how to back up the profile, force the downgrade, etc. Maybe we could use our new developers doc.

Correct?

Flags: needinfo?(alessandro)

Attached is my profile testing results.

The condensed version is the error only occurs with dedicated profiles.

I was able to run TB 68.0b1 with my default TB 60.7.0 profile in my test user account on Ubuntu 18.04.2 LTS Linux with no problem.

I found that if I used --allow-downgrade and checked Help > About Thunderbird, I was prompted to "Update to 68.0 Beta 1" even though Help > About and Troubleshooting Information indicated I was using 68.0b1 with my 67.0b3test profile.

I did that and could choose the default, my 67.0b3 or the 68.0b1 profile I had created without using --allow-downgrade.

Assignee: nobody → mkmelin+mozilla
Flags: needinfo?(mkmelin+mozilla)

Here's a patch to override the strings. I'll leave it to others to argue what specific text to use.

Changing the dialog itself could be done in the same way.

Gah, I missed that Magnus had only recently assigned himself. Oh well, I can't change what I've already done now.

I'll let you finish this.
For the string, please use brandProductName instead.

We might want to have the Create Profile send you off to the profile manager instead (and create it there). That's not super either, but all in all when you end up here as an end user you're not in a very good position and you're probably better off going into the profile manager. At least you then understand there are profiles and you can try to select the right one, copy data etc.

Assignee: mkmelin+mozilla → geoff
Attached patch 1535116-profile-downgrade-2.diff (obsolete) — Splinter Review

To open this dialog after startup, run this code from the console:

openDialog(
  "chrome://mozapps/content/profile/profileDowngrade.xul", null, null,
  Cc["@mozilla.org/embedcomp/dialogparam;1"].createInstance(Ci.nsIDialogParamBlock)
);

Still needed: an actual URL to link to.

Attachment #9072921 - Attachment is obsolete: true
Attachment #9075525 - Flags: review?(alessandro)

Ryan, Wayne, please organise a support article we can link to. There's a recent thread on tb-planning you could probably borrow some information from.

Flags: needinfo?(vseerror)
Flags: needinfo?(ryan)

And you can't create a "Proceed anyway" button?

Comment on attachment 9075525 [details] [diff] [review]
1535116-profile-downgrade-2.diff

Review of attachment 9075525 [details] [diff] [review]:
-----------------------------------------------------------------

Overall it looks good, but there are a couple of small changes I'd like to make if possible.
Let me know if I'm wrong and I'd be happy to turn this into a r+

::: mail/base/content/profileDowngrade.xul
@@ +22,5 @@
> +        buttonlabelaccept="&window.quit-nonwin;"
> +#endif
> +        buttons="accept,extra1,disclosure" buttonpack="end"
> +        nobuttonspacer="true">
> +

Would be possible to have the "More Info" button aligned to the left of the buttons row container?
It would make more sense as the 2 primary actions, create profile and quit, are aligned to the right, and the secondary/optional action is separated from them and aligned to the left.

::: mail/locales/en-US/chrome/overrides/profileDowngrade.dtd
@@ +9,5 @@
> + Thunderbird" and "version" is used to mean "the specific revision number of a
> + given Thunderbird channel". These terms are not synonymous.
> +-->
> +<!ENTITY window.title "You’ve launched an older version of &brandProductName;">
> +<!ENTITY window.style "width: 490px;">

Is this correct? It seems weird to have inline style specified inside a dtd file.
I think we should specify this or during the `openDialog()`, or in `em` via CSS on the main `hbox` container and then trigger `window.sizeToContent()`.

@@ +11,5 @@
> +-->
> +<!ENTITY window.title "You’ve launched an older version of &brandProductName;">
> +<!ENTITY window.style "width: 490px;">
> +
> +<!ENTITY window.nosync "Using an older version of &brandProductName; can corrupt an existing &brandProductName; profile. To protect your information, create a new profile for this installation of &brandShortName;.">

Any specific reason why the last one is `&brandShortName;` instead of `&brandProductName;`? On trunk, the text says "Thunderbird" except at the end where it uses "Daily".
Attachment #9075525 - Flags: review?(alessandro) → review-

All of that stuff (except the button alignment) is as it is on m-c. I just copied and changed as appropriate.

I'll see if I can do anything about the buttons (I agree), but I'm not hopeful.

Attached patch 1535116-profile-downgrade-3.diff (obsolete) — Splinter Review

I can move both the More Info and Create New Profile buttons to the left, or neither of them. Both options are a bit rubbish IMO. What about this?

Attachment #9075525 - Attachment is obsolete: true
Attachment #9075576 - Flags: review?(alessandro)
Comment on attachment 9075576 [details] [diff] [review]
1535116-profile-downgrade-3.diff

Review of attachment 9075576 [details] [diff] [review]:
-----------------------------------------------------------------

Other than the hbox thingy, I like this version, definitely better than the 3 buttons that all blends together.
r+

::: mail/base/content/profileDowngrade.xul
@@ +32,5 @@
> +    <vbox flex="1">
> +      <description id="nosync">&window.nosync;</description>
> +      <label class="text-link" value="&window.moreinfo;"
> +             onclick="moreInfo(event)"
> +             onkeypress="moreInfo(event)"/>

Nice solution, I like it.
Can you wrap it around an `hbox` to prevent the label from growing and making the entire empty row clickable?
Attachment #9075576 - Flags: review?(alessandro) → review+

Good call. Now we just need a URL. I'm tempted to land this anyway to give our translators more time, it's already weeks late.

Attachment #9075576 - Attachment is obsolete: true
Attachment #9075579 - Flags: review+

Landing this now with the URL I suggested after getting approval from Ryan and Wayne via IRC.

Flags: needinfo?(vseerror)
Flags: needinfo?(ryan)
Attachment #9075579 - Flags: approval-comm-beta+
Target Milestone: --- → Thunderbird 69.0

Pushed by mozilla@jorgk.com:
https://hg.mozilla.org/comm-central/rev/bba6ea26bc60
Override text in profile-downgrade dialog; r=aleca

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED

I tried this on the beta and clicking on "More information..." I got, no, not 404, but: Your Firefox profile cannot be loaded. It may be missing or inaccessible.

Is that expected?

And also, I should have looked at the wording a little better. We're basically using the FF wording:
Using an older version of &brandProductName; can corrupt an existing &brandProductName; profile. To protect your information, create a new profile for this installation of &brandShortName;.

I had actually suggested something else in comment #7. More like:
Your profile has been accessed with a newer version of Thunderbird and can no longer be used with the older version you are currently using. Creating a new profile will make it necessary to set up all your email, news, chat and feeds accounts again. Please access your profile with the newer version. See "More Information..." for other options.

Can we change this quickly?

Flags: needinfo?(geoff)
Flags: needinfo?(alessandro)

I'll submit a patch.

Status: RESOLVED → REOPENED
Flags: needinfo?(geoff)
Flags: needinfo?(alessandro)
Resolution: FIXED → ---
Attached patch 1535116-fix-info.patch (obsolete) — Splinter Review

I've shuffled my suggestion around a bit to match the window title.

Attachment #9075919 - Flags: review?(alessandro)
Attached image downgrade warning.png (obsolete) —

This is how it looks now.

Well here's my attempt:

You’ve launched an older version of Thunderbird
Updates to Thunderbird since this version may have made changes to your profile which are no longer compatible with this version. To protect your information, use this profile only with an updated Thunderbird, or create a new profile for this installation of Thunderbird. Creating a new profile requires setting up your accounts again.
More information…

Remember that we're protecting this version of Thunderbird (68) from the future, and we don't really know what the future holds. (Although I do know of at least one planned change that make this warning accurate.)

Attached image downgrade warning Geoff.png (obsolete) —

Based loosely on Geoff's wording. I didn't like the twisted logic here: "Updates to Thunderbird since this version may have made changes to your profile ...". Not updates to TB change the profile, but the updated TB ;-)

Attached patch 1535116-fix-info.patch (obsolete) — Splinter Review
Attachment #9075929 - Flags: review?(alessandro)

Jorg's untwisted logic version reads better to me. But I would drop the "if any," part. For 99% of users they WILL have to do one or more of those things and so just makes the sentence more wordy.

Also, "Use this profile only with an updated &brandProductName;" is frankly vague. We explicitly check versions in the code, no? So we should provide the user with the exact minimum version needed to run thunderbird without needing to create a new profile.

Finally, whatever version we use, please let's not use contractions anywhere, like "You're" and "You've". Can we fix this in the dialog title please?

Wayne, can you please paste your favourite wording here. Happy to lose "if any" and fix the contraction. We can't provide a minimum version, I'm afraid at that point.

Flags: needinfo?(vseerror)
Comment on attachment 9075919 [details] [diff] [review]
1535116-fix-info.patch

Review of attachment 9075919 [details] [diff] [review]:
-----------------------------------------------------------------

This is too verbose and not clear, and I see there's another version already in queue for review.
Attachment #9075919 - Flags: review?(alessandro) → review-
Comment on attachment 9075929 [details] [diff] [review]
1535116-fix-info.patch

Review of attachment 9075929 [details] [diff] [review]:
-----------------------------------------------------------------

I'd drop the "if any" as well.
Other than that it sounds clear and easy to read.
Attachment #9075929 - Flags: review?(alessandro) → review+

After discussion on IRC.

Flags: needinfo?(vseerror)

Apparently everyone liked this one ;-)

Attachment #9075919 - Attachment is obsolete: true
Attachment #9075920 - Attachment is obsolete: true
Attachment #9075928 - Attachment is obsolete: true
Attachment #9075929 - Attachment is obsolete: true
Attachment #9075996 - Flags: review+

Pushed by mozilla@jorgk.com:
https://hg.mozilla.org/comm-central/rev/5bec03032031
Follow-up: Fix downgrade information. r=aleca DONTBUILD

Status: REOPENED → RESOLVED
Closed: 4 years ago4 years ago
Resolution: --- → FIXED
Flags: needinfo?(vseerror)
Flags: needinfo?(unicorn.consulting)
Flags: needinfo?(ryan)
Pushed by mozilla@jorgk.com:
https://hg.mozilla.org/comm-central/rev/63234de37ad4
Follow-up: Adjust URL to what was created on SUMO. r=me DONTBUILD

Needed to tweak the code a bit. The last bit also needs to go to beta and ESR.

Flags: needinfo?(vseerror)
Flags: needinfo?(unicorn.consulting)
Flags: needinfo?(ryan)

We shouldn't really have a locale in that URL. Once there are translations sumo would show a localized versions if you remove it.

Pushed by mozilla@jorgk.com:
https://hg.mozilla.org/comm-central/rev/6f6a7785dde2
Follow-up: Remove locale from downgrade profile SUMO link. r=me DONTBUILD
Attachment #9082471 - Flags: approval-comm-esr68?
Attachment #9082471 - Flags: approval-comm-beta?
Comment on attachment 9075996 [details] [diff] [review]
1535116-fix-info.patch

That went onto beta 4 in comment #47 in is therefore in TB 68 ESR.
Attachment #9075996 - Flags: approval-comm-beta+
Attachment #9082471 - Flags: approval-comm-esr68?
Attachment #9082471 - Flags: approval-comm-esr68+
Attachment #9082471 - Flags: approval-comm-beta?
Attachment #9082471 - Flags: approval-comm-beta+

If you need to install an older version, it's not fixed.

I just installed 67.0b3, to try to access my email after Thunderbird had auto-updated to 68.3.1 and broke everything. I still can't access my email, or my accessibility fixes, because it insists on creating a new profile.

Please don't use old expired beta versions like TB 67 beta. Go back to TB 68.3.1. Use "Help > Troubleshooting Information", then about:profiles, then select your pre-existing profile.

You need to log in before you can comment on or make changes to this bug.