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

RESOLVED FIXED in Thunderbird 53.0

Status

RESOLVED FIXED
2 years ago
11 days ago

People

(Reporter: phille.x5, Assigned: aceman)

Tracking

({regression})

50 Branch
Thunderbird 53.0
All
Windows
regression

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)

(Reporter)

Description

2 years ago
Created attachment 8806268 [details]
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!
(Reporter)

Updated

2 years ago
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)
Keywords: regression, regressionwindow-wanted
(Assignee)

Comment 2

2 years ago
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?

Updated

2 years ago
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
Created attachment 8806303 [details]
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
(Assignee)

Comment 5

2 years ago
(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)

Comment 7

2 years ago
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.

Comment 8

2 years ago
Created attachment 8809777 [details]
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+

Updated

2 years ago
See Also: → bug 852593, bug 736777

Updated

2 years ago
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

Comment 9

2 years ago
(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.

Comment 10

2 years ago
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.

Comment 11

2 years ago
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.

Updated

2 years ago
Duplicate of this bug: 1321469

Comment 13

2 years ago
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.
Keywords: regressionwindow-wanted
Whiteboard: [workaround: set the pref mail.winsearch.firstRunDone to true]

Comment 14

2 years ago
Oops, correction:
Set preference mail.winsearch.firstRunDone to *true* as a workaround.
(Assignee)

Updated

2 years ago
Assignee: nobody → acelists
Blocks: 1223371
Status: NEW → ASSIGNED
OS: Windows 10 → Windows
Hardware: x86_64 → All
(Assignee)

Comment 15

2 years ago
Created attachment 8816563 [details] [diff] [review]
patch

Jorg, can you try this?
Attachment #8816563 - Flags: review?(jorgk)

Comment 16

2 years ago
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?

Comment 17

2 years ago
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.
(Assignee)

Comment 18

2 years ago
(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.

Comment 19

2 years ago
(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.
(Assignee)

Comment 20

2 years ago
Created attachment 8816609 [details] [diff] [review]
patch v2

Next try.
Attachment #8816563 - Attachment is obsolete: true
Attachment #8816563 - Flags: review?(jorgk)
Attachment #8816609 - Flags: review?(jorgk)

Comment 21

2 years ago
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)

Comment 22

2 years ago
Created attachment 8816628 [details] [diff] [review]
1314236-remember-first-run.patch

How about this?
Attachment #8816628 - Flags: review?(acelists)
(Assignee)

Comment 23

2 years ago
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+

Comment 24

2 years ago
You do it and take the credit ;-)
(Assignee)

Comment 25

2 years ago
Created attachment 8816631 [details] [diff] [review]
patch v3

Thanks.
Attachment #8816609 - Attachment is obsolete: true
Attachment #8816628 - Attachment is obsolete: true
Attachment #8816628 - Flags: review?(acelists)
Attachment #8816631 - Flags: review?(jorgk)

Comment 26

2 years ago
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+
(Assignee)

Comment 27

2 years ago
Created attachment 8816634 [details] [diff] [review]
patch v3.1

OK, thanks.
Attachment #8816631 - Attachment is obsolete: true
Attachment #8816634 - Flags: review+
(Assignee)

Updated

2 years ago
Keywords: checkin-needed

Comment 28

2 years ago
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+

Comment 29

2 years ago
C-C (TB 53): https://hg.mozilla.org/comm-central/rev/d15cff28e5b16679c929fec1e32b1964d8bbd8d8
C-A (TB 52): https://hg.mozilla.org/releases/comm-aurora/rev/26d6c85c7f8ecba84baf52a87b517f1e60ff95b8
C-B (TB 51): https://hg.mozilla.org/releases/comm-beta/rev/06413cb37580a50796e9ba06259ddced0d678dc7
status-thunderbird51: --- → fixed
status-thunderbird52: --- → fixed
status-thunderbird53: --- → fixed
status-thunderbird_esr45: --- → affected
tracking-thunderbird_esr45: --- → +

Updated

2 years ago
Keywords: checkin-needed

Updated

2 years ago
Target Milestone: --- → Thunderbird 53.0

Updated

2 years ago
Status: ASSIGNED → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → FIXED

Comment 30

2 years ago
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.

++
https://hg.mozilla.org/releases/comm-esr45/rev/56a267b6aa73
status-thunderbird_esr45: affected → fixed
tracking-thunderbird_esr45: + → 50+
Flags: needinfo?(rkent)

Updated

2 years ago
Attachment #8816634 - Flags: approval-comm-esr45? → approval-comm-esr45+

Comment 33

2 years ago
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.

Comment 35

2 years ago
Thanks!

Comment 36

2 years ago
(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

Comment 37

11 days ago

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

Comment 38

11 days ago

(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.