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

RESOLVED FIXED in Thunderbird 53.0

Status

defect
RESOLVED FIXED
3 years ago
5 months ago

People

(Reporter: phille.x5, Assigned: aceman)

Tracking

({regression})

50 Branch
Thunderbird 53.0
All
Windows
Dependency tree / graph

Thunderbird Tracking Flags

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

Details

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

Attachments

(4 attachments, 4 obsolete attachments)

Posted 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
Posted 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.
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.
Duplicate of this bug: 1321469
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
Posted 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.
Posted 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)
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 ;-)
Posted 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+
Posted 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+
Keywords: checkin-needed
Target Milestone: --- → Thunderbird 53.0
Status: ASSIGNED → RESOLVED
Closed: 3 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?

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