Closed Bug 1314236 Opened 8 years ago Closed 7 years ago

At every startup, System Integration prompt ask me to set it as default client

Categories

(Thunderbird :: OS Integration, defect)

50 Branch
All
Windows
defect
Not set
normal

Tracking

(thunderbird_esr4550+ fixed, thunderbird51 fixed, thunderbird52 fixed, thunderbird53 fixed)

RESOLVED FIXED
Thunderbird 53.0
Tracking Status
thunderbird_esr45 50+ fixed
thunderbird51 --- fixed
thunderbird52 --- fixed
thunderbird53 --- fixed

People

(Reporter: phille.x5, Assigned: aceman)

References

Details

(Keywords: regression, Whiteboard: [workaround: set the pref mail.winsearch.firstRunDone to true])

Attachments

(8 files, 4 obsolete files)

Attached image Popup at start up
User Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36

Steps to reproduce:

Just start Thunderbird


Actual results:

I always get popup screen ... see attached file


Expected results:

I find it ok to get the message once but not at every startup.
I'm using Win10 and thunderbird is set as standard mail program!
OS: Unspecified → Windows 10
Hardware: Unspecified → x86_64
Joe, have you been seeing this?

I saw this during tested and had ignored it :(
Status: UNCONFIRMED → NEW
Component: Untriaged → OS Integration
Ever confirmed: true
Flags: needinfo?(jsabash)
So what do you click in the dialog?
But we should save the value of the "check at startup" checkbox when you click any of the buttons.

Is there anything in Tools->Error console?
Summary: At every startup Thunderbird ask me to set it as standard client → At every startup, Thunderbird ask me to set it as default client
Attached image bug 1314236.png
Nothing in error console except Content Security Policy: Directive ‘frame-src’ has been deprecated. Please use directive ‘child-src’ instead. Which I would think is unrelated.

I retested with 52, in a fairly new but not empty profile.  Every startup prompts - doesn't matter what is selected, chosen or done. I've tried them all, **including marking the "always perform" and then unchecking it on next startup. Still prompts. The checkbox is ineffective.  

In screen shot, note:
* "use daily as default ..." checked checkboxes are all greyed out and you can't change them. Same as reporter's.
* I thought there might be an old bug report about that, but I'm not seeing one in https://mzl.la/2evhEbb
* 1 and 2 are consecutive startups: 1. newsgroup is unchecked - I marked the checkbox for newsgoupr and clicked "set as default"  2. Is what I see o nnext startup
HOWEVER, I don't see this behavior in my production profile - only this newish profile
(In reply to Wayne Mery (:wsmwk, NI for questions) from comment #3)
> In screen shot, note:
> * "use daily as default ..." checked checkboxes are all greyed out and you
> can't change them. Same as reporter's.
> * I thought there might be an old bug report about that, but I'm not seeing
> one in https://mzl.la/2evhEbb

I think there is a bug about that. I think the problem is that there is no method to unregister TB. You need to register another program to remove TB's associations.

So the disabled checkboxes may be OK. The question is why the dialog always shows up.

Check if the value of the pref mail.shell.checkDefaultClient changes.
(In reply to Wayne Mery (:wsmwk, NI for questions) from comment #1)
> Joe, have you been seeing this?
> 
> I saw this during tested and had ignored it :(

Only on the first run of TB  After checking skip integration, it does not come back again.
Flags: needinfo?(jsabash)
The bug is still present also in Earlybird 51.0a2.

Attaching console error output.

I'm running Win10 Anniversary Update.
Funny fact: although it keeps asking for being the default mail app, Thunderbird is not registered as the default app in Windows Settings! Anyway, also changing it in Windows Settings, the problem is still there.
Attached file console error output
console error output; please mind that the chrome.manifest that cannot be read is actually present in the folder
Attachment #8809777 - Flags: feedback+
See Also: → 852593, 736777
Summary: At every startup, Thunderbird ask me to set it as default client → At every startup, System Integration prompt ask me to set it as default client
(In reply to Dario Mangoni from comment #7)
> The bug is still present also in Earlybird 51.0a2.
> 
> Attaching console error output.
> 
> I'm running Win10 Anniversary Update.
> Funny fact: although it keeps asking for being the default mail app,
> Thunderbird is not registered as the default app in Windows Settings!
> Anyway, also changing it in Windows Settings, the problem is still there.

Same issue here on windows 10.0.14393 pro 64-bit thunderbird 50.0b3.
Yea, I can vouch for this issue on new installs of Thunderbird 45.5.0 in Windows 10.

"At every startup, Thunderbird ask me to set it as default client → At every startup, System Integration prompt ask me to set it as default client."

Just want to be added to the cc list, so i know when this is resolved, thanks.
My brother just asked me about the same issue, he did a clean install of Tb 45.5.0 on Windows 10 last week and he gets this prompt every time. When we checked the Win 10 default apps, selecting Tb as the default email client had NOT set this in the Win 10 settings. But even after telling Win 10 (and the setting has indeed been remembered by Win 10) that Tb is the default email client, Tb prompts him every time. Ticking or unticking the "Check every timne option" makes no difference.
See analysis in bug 1321469 comment #7:

Caused by bug 1223371 which was uplifted up to TB 45.5.

Set preference mail.winsearch.firstRunDone to false as a workaround.
Whiteboard: [workaround: set the pref mail.winsearch.firstRunDone to true]
Oops, correction:
Set preference mail.winsearch.firstRunDone to *true* as a workaround.
Assignee: nobody → acelists
Blocks: 1223371
Status: NEW → ASSIGNED
OS: Windows 10 → Windows
Hardware: x86_64 → All
Attached patch patch (obsolete) — Splinter Review
Jorg, can you try this?
Attachment #8816563 - Flags: review?(jorgk)
I will, but in the meantime, can you explain this:

  onDialogClose: function(aSetAsDefault)
  {
    // In all cases, save the user's decision for "always check at startup".
    this._shellSvc.shouldCheckDefaultClient = this._startupCheckbox.checked;

    let searchIntegPossible = !this._searchCheckbox.hidden;
    if (searchIntegPossible) {
      this.SearchIntegration.firstRunDone = true;
    }

What does this try to do?
The patch doesn't work. I skip the integration and firstRunDone is not set. So it asks again.

I even added some debugging:

=== searchIntegPossible false

Does 'disabled' make it 'hidden' as well?

Again, I don't understand what we're trying to do here. I'm sorry I approved the original patch, I missed that the hidden status of the checkbox has some side-effects in the code shown in comment #16.
(In reply to Jorg K (GMT+1) from comment #16)
>     let searchIntegPossible = !this._searchCheckbox.hidden;
>     if (searchIntegPossible) {
>       this.SearchIntegration.firstRunDone = true;
>     }
> 
> What does this try to do?

What do you mean?

If the checkbox was exposed, the user had the chance to set it. So do not ask next time (firstRunDone=>true).
I can add the comment.

(In reply to Jorg K (GMT+1) from comment #17)
> === searchIntegPossible false
> 
> Does 'disabled' make it 'hidden' as well?

No, but hidden is the initial state. I must expose it too, so that the code you saw in onDialogClose will run. New patch coming.

Or we can shortcut and set this.SearchIntegration.firstRunDone = true right where we decide we run on Windows. But I'm not sure I like the shortcut.
(In reply to :aceman from comment #18)
> If the checkbox was exposed, the user had the chance to set it. So do not
> ask next time (firstRunDone=>true).
> I can add the comment.
Please do!!

> No, but hidden is the initial state. I must expose it too, so that the code
> you saw in onDialogClose will run. New patch coming.
Great.

> Or we can shortcut and set this.SearchIntegration.firstRunDone = true right
> where we decide we run on Windows. But I'm not sure I like the shortcut.
Agreed. Let's see whether there's a better way.
Attached patch patch v2 (obsolete) — Splinter Review
Next try.
Attachment #8816563 - Attachment is obsolete: true
Attachment #8816563 - Flags: review?(jorgk)
Attachment #8816609 - Flags: review?(jorgk)
Comment on attachment 8816609 [details] [diff] [review]
patch v2

I don't like this. You offer the *new* user a checkbox he can't click. How bad is that?

Just because the internal logic is so twisted that I didn't understand it without the comment.

The proper logic should be:

let userChoiceWasPresentedOrHidden = false;

if (presented)
  userChoiceWasPresentedOrHidden = true;
else if (hidden)
  userChoiceWasPresentedOrHidden = true;

And then you react based on that.

Sorry.
Attachment #8816609 - Flags: review?(jorgk)
Attached patch 1314236-remember-first-run.patch (obsolete) — Splinter Review
How about this?
Attachment #8816628 - Flags: review?(acelists)
Comment on attachment 8816628 [details] [diff] [review]
1314236-remember-first-run.patch

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

I can't test it but if you say it works, I'm fine.
But the idea is OK, it is the 'shortcut' version I was thinking about :)
Please also add the comment from onDialogClose in my patch.

::: mail/base/content/systemIntegrationDialog.js
@@ +80,5 @@
>        if ((this.Services.appinfo.OS == "WINNT") && !calledFromPrefs &&
>            !this._searchCheckbox.checked) {
>          this._searchCheckbox.hidden = true;
> +        // Due to the twisted logic in 'onDialogClose' we also need to
> +        // remember that the user was presented with the option once.

The comment should actually say, that even if the user wasn't presented the choice, we do not want to ask again automatically.
Attachment #8816628 - Flags: feedback+
You do it and take the credit ;-)
Attached patch patch v3 (obsolete) — Splinter Review
Thanks.
Attachment #8816609 - Attachment is obsolete: true
Attachment #8816628 - Attachment is obsolete: true
Attachment #8816628 - Flags: review?(acelists)
Attachment #8816631 - Flags: review?(jorgk)
Comment on attachment 8816631 [details] [diff] [review]
patch v3

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

r=jorgk (all lower, please). And add a comma. In the comment above you have one: Even if ... , ... ;-)

::: mail/base/content/systemIntegrationDialog.js
@@ +106,5 @@
>    {
>      // In all cases, save the user's decision for "always check at startup".
>      this._shellSvc.shouldCheckDefaultClient = this._startupCheckbox.checked;
>  
> +    // If the search checkbox is exposed the user had the chance to make his choice.

Comma missing after "exposed".
Attachment #8816631 - Flags: review?(jorgk) → review+
Attached patch patch v3.1Splinter Review
OK, thanks.
Attachment #8816631 - Attachment is obsolete: true
Attachment #8816634 - Flags: review+
Keywords: checkin-needed
Comment on attachment 8816634 [details] [diff] [review]
patch v3.1

[Approval Request Comment]
Regression caused by (bug #): Bug 1223371 and bug 1311821
User impact if declined: *Extremely annoying*, new users get hassled with the system integration dialogue every time and they can't get rid of it.
Testing completed (on c-c, etc.): Manual.
Risk to taking this patch (and alternatives if risky):
It's already broken, so it can't get worse.
Attachment #8816634 - Flags: approval-comm-esr45?
Attachment #8816634 - Flags: approval-comm-beta+
Attachment #8816634 - Flags: approval-comm-aurora+
Target Milestone: --- → Thunderbird 53.0
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Kent, please include this as soon as possible. See comment #28. This is *extremely* annoying to new users.
Flags: needinfo?(rkent)
(In reply to Jorg K (GMT+1) from comment #30)
> Kent, please include this as soon as possible. See comment #28. This is
> *extremely* annoying to new users.

++
Attachment #8816634 - Flags: approval-comm-esr45? → approval-comm-esr45+
Hi I am new to thunderbird and this bug drives me crazy.. In which version will this be fixed?
I am using 45.5.1.
It will be fixed in 45.6.0 in the next few weeks.
Thanks!
(In reply to nucrap from comment #33)
> Hi I am new to thunderbird and this bug drives me crazy.
No need to go crazy here, there is a workaround clearly stated in the whiteboard:
[workaround: set the pref mail.winsearch.firstRunDone to true]
Here's how you set preferences: https://support.mozilla.org/en-US/kb/config-editor

2 years later, I'm having the exact same problem in Thunderbird 60.5.0.

(In reply to remy from comment #37)

2 years later, I'm having the exact same problem in Thunderbird 60.5.0.

But is it related? Is the registry being updated? or don't you have access to make the changes?
Does the workaround mentioned in the comment above yours work for you? If not then it is not this bug your are seeing.

Have you asked in the support forum for what sounds like a support issue?

Attached image Default programs list

Running v68.8.1 (64 bits, en_GB installer - https://download.mozilla.org/?product=thunderbird-68.8.1-SSL&os=win64&lang=en-GB), I suddenly got this problem.

  1. Default programs show 2 entries, both of which have all their values checked (cf. attachments)
  2. Resetting mail.winsearch.firstRunDone to the default false value & restarting Thunderbird brings it back to a modified value of true after all the checkboxes of the pop-up are checked & "Set as Default" chosen

The insteresting thing might be I switched from an old 32 bits install (I do not know if that might have had an impact) :

  1. Uninstalled Mozilla Thunderbird and removed last remnants in Program Files (x86) folder
  2. Installed fresh Thunderbird from version specified above

Like bernard+mozilla I have got this problem now in Thunderbird 78.6.0 64 bit and that workaround not apply because the value is already set to true meanwhile setting it to false is reverting back to true after restart.
Are you on track of this or do we need to open another bug report?

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