Closed Bug 1193196 Opened 9 years ago Closed 9 years ago

Setting Firefox as default on Windows 10 can sometimes open a windows dialog instead of the defaults app.

Categories

(Firefox :: Tours, defect)

40 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
firefox40 + fixed
firefox41 --- unaffected

People

(Reporter: agibson, Assigned: jaws)

References

Details

(Whiteboard: [fixed by uplifting bug 1172724 and bug 1179249])

Attachments

(2 obsolete files)

In Bug 1175293 we added the ability to set Firefox as the default browser via UITour. We then built a welcome page for Win10 users in Bug 1186485, which makes it easier for the user to set Firefox as their default browser. 

When clicking the "Let's do it" CTA button on the welcome page, one of two things happens:

a.) Firefox is set as the default browser in a single click, if possible.
b.) Firefox opens the Win10 default settings app, where the user can set Firefox as the default browser themselves.

During QA we noted that a third scenario can also sometimes occur:

Clicking the "Let's do it" button brings up a Windows message "To change your default apps, go to Settings > System > Default apps [OK]", instead of going to the system file. [1]

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1186485#c26

I'm not clear on when this scenario happens or it's already a known issue, however I felt we should still open a bug for this. Given the copy on the page I think this can add to some confusion for users. 

Both myself and rbillings have seen this message occur. It definitely occurs sometimes for a), not sure about b).
Version: 41 Branch → 40 Branch
Summary: Setting Firefox as default can sometimes open a windows dialog instead of the defaults app. → Setting Firefox as default on Windows 10 can sometimes open a windows dialog instead of the defaults app.
NI jaws - any thoughts?

Got another piece of input from verdi: "it happened on a new install on a VM and it happened with a new profile on my win10 machine"
Flags: needinfo?(jaws)
If Windows encounters an error when opening the Settings application we fall back to showing this dialog. We aren't tracking the error state that is returned from Windows when this happens, but we could track it with telemetry.

I've seen this once and it was because the Settings app was hung on my machine. Perhaps Windows times out when trying to open the Settings app and returns an error code causing us to show this dialog.
Flags: needinfo?(jaws)
FWIW, on both my windows 10 machine and on my VM, I tested the Firefox modal and it works as expected. I didn't change any setting and closed the settings app. Then I clicked the "let's do it" button and instantly get the windows modal and it seems to happen no matter what I do, including restarting and restoring my session.
Questions:

1. Is there a way to understand the reach of this bug? E.g. what percentage of Windows 10 users are encountering it.

2. Is there any way the web can know that the Windows dialogue was popped up instead of the settings app?
(In reply to Cory Price [:ckprice] from comment #4)

> 2. Is there any way the web can know that the Windows dialogue was popped up
> instead of the settings app?

And if so, can we trigger a GA event for this?
(In reply to Cory Price [:ckprice] from comment #4)
> 2. Is there any way the web can know that the Windows dialogue was popped up
> instead of the settings app?

Not as far as I'm aware - as soon as we handle the button click on the page we hand off to Firefox to do the rest.
NI jaws - is there anything that can be done on the product side to fix this mid release?

Also, is there a way to understand the reach of this bug? E.g. what percentage of Windows 10 users are encountering it.
Flags: needinfo?(jaws)
Seeing this on a Windows 10 VM.

It happens all of the time when clicking the button on the Welcome page. It works as expected when I use the dialog.
I see this on both my Windows 10 machines. Curiously it happens in the Firefox 40 release build, but not Nightly.
This is because bug 1172724 wasn't uplifted to Firefox 40.

To fix this we can either uplift the patch from bug 1172724 or change the UITour.jsm code to call setDefaultBrowser with aClaimAllTypes=false.

See http://screencast.com/t/QbKeMWLdKuU for a comparison between the mozilla-release source code and mozilla-central.
Assignee: nobody → jaws
Status: NEW → ASSIGNED
Flags: needinfo?(jaws)
Follow-up to comment #10, this is going to be broken for *all* users on Release and will work for people trying with Firefox 41 and later.

The quickest thing we could do is update the webpage to not use this UITour functionality but still include the step-by-step instructions.
The screenshot in comment #10 is wrong when it says that the Preferences calls setDefaultBrowser with (true, false).

In mozilla-release, it calls it with (false, false), but in mozilla-central it calls it with (true, false).
(In reply to Jared Wein [:jaws] (please needinfo? me) from comment #13)
> Try push of bug 1172724 and bug 1179249 for mozilla-release,
> https://treeherder.mozilla.org/#/jobs?repo=try&revision=68ad76ae36c4

Thanks Jared. :dolske - what are the next steps for getting this into release?
Flags: needinfo?(dolske)
I've spoken with dolske. We're going to land the required patches and spin 40.0.1 tonight with the intention of pushing it tomorrow. Automatic updates are currently disabled for Windows instances.

jaws - Can you please comment with steps for how SV can verify the fix?
Flags: needinfo?(dolske) → needinfo?(jaws)
Attached patch Patch uplifting bug 1172724 (obsolete) — Splinter Review
Approval Request Comment
[Feature/regressing bug #]: bug 1172724 should have been uplifted to 40
[User impact if declined]: uitour default browser ability broken
[Describe test coverage new/current, TreeHerder]: manual testing
[Risks and why]: low risk, same patch has been on 41 and 42
[String/UUID change made/needed]: none
Flags: needinfo?(jaws)
Attachment #8646671 - Flags: approval-mozilla-release?
Attached patch Patch uplifting bug 1179249 (obsolete) — Splinter Review
Attachment #8646672 - Flags: approval-mozilla-release?
Steps to verify the fix:

Using a build that has these patches (either the builds located at http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/jwein@mozilla.com-68ad76ae36c4/try-win32/ or official Release builds once this has landed):

1. Use Windows 10
2. Make sure that Firefox is not set as the default browser on the system.
3. Use one of the builds mentioned above, visit https://www.mozilla.org/en-US/firefox/windows-10/welcome/?utm_source=firefox-browser&utm_medium=firefox-browser
4. Click on the "Lets do it" button

Expected result:
Windows' Settings app should be launched

Also, please verify that the "Make Default" button within the Preferences has the same result, as well as the dialog that appears when the browser starts up if it is not the default.
Depends on: 1179249
Depends on: 1172724
Attachment #8646671 - Attachment is obsolete: true
Attachment #8646671 - Flags: approval-mozilla-release?
Attachment #8646672 - Attachment is obsolete: true
Attachment #8646672 - Flags: approval-mozilla-release?
I took care of approving and uplifting these two patches in their original bugs (bug 1179249 and bug 1172724), to keep tracking and history a little less muddled. Already discussed and approved with release-management, and we'll be spinning Firefox 40.0.1 builds tonight.

Jared tested this locally, but we should still verify the actual 40.0.1 bits before they go out the door.
Assignee: jaws → nobody
Status: ASSIGNED → NEW
Some info for SoftVision to help verify the 40.0.1 fixes (in addition to whatever details previously existed in bug 1179249 and bug 1172724).

Ultimately, we want to make sure our 3 entry points to setting the default browser are working correctly. Case #1 was broken on Windows 10. It would be good to verify that it's now working with 40.0.1, that the other cases are also still working on Windows 10, and that the 3 cases did not regress on previous versions of Windows (8.1 and Win7 would be the two most interesting to check). Other operating systems (OS X, Linux) should be unaffected.

I'm not expecting risk of breaking anything (since 40.0.1 will just bring 40 up to date with what's already been in 41+). But I'll be overly cautious in describing what's relevant to consider checking:

1) The Windows 10 welcome page

https://www.mozilla.org/en-US/firefox/windows-10/welcome/?utm_source=firefox-browser&utm_medium=firefox-browser

(The browser changes the "en-US" part to the user's actual locale, but in general the default browser stuff is locale-independent.)

On Windows 10: Load the page, click the "Let's do it >>" button. This should trigger the Windows 10 settings UI (similar to the screenshot in the page). The bug in 40.0 was that only a small "To change your default apps, go to Settings > System > Default apps [OK]" dialog was shown.

Users on previous versions of Windows shouldn't ever see this page, so no need to test it there.

Oh, and note that if you've previously set Firefox as your default with a given profile, this UI may be skipped entirely, and Firefox will set itself as the default without the OS UI being shown.


2) Prompt upon starting the browser

The usual prompt that's shown when starting the browser, when Firefox is not the default. "Firefox is not currently set as you default browser. Would you like to make it your default browser? [Use Firefox as my default browser] [Not now]". Clicking "Use Firefox as my default" should trigger a flow as above on Windows 10.

On Windows 7 and below clicking this should make Firefox the default without further UI. Windows 8 / 8.1 is a little complicated, either getting UI like http://i.imgur.com/geXwiVC.png as shown in https://support.mozilla.org/en-US/kb/make-firefox-your-default-browser#firefox:win8:fx40


3) Options -> General -> "Make Default" button (enabled when Firefox is not the default).

Basically the same as #2. I would expect, with high confidence, that if #2 works this will as well.
I confirm that under Windows 10 x86, after launching Firefox 40.0.1RC build 2 (Build ID: 20150811223153) with a clean profile and selecting to make it as default browser, the Windows 10 Settings UI is properly triggered in all the 3 cases mentioned in comment 20.

*Please note* that the Windows 10 Settings UI is opened *only* at 1st start-up with a clean profile; if the default browser is changed again (to Chrome/Edge), the Windows 10 Settings UI is no longer displayed for the same Firefox session - the change is made automatically. Justin, is this an expected behavior? 

Also, under Windows 7 x64 and Windows 8.1 x64, setting Firefox as default browser works from both the prompt box as well as from about:preferences.
Flags: needinfo?(dolske)
I also verified on Windows 10 following set up from Comment 18 and verification from Comment 20.
(In reply to Alexandra Lucinet, QA Mentor [:adalucinet] from comment #21)
> *Please note* that the Windows 10 Settings UI is opened *only* at 1st
> start-up with a clean profile; if the default browser is changed again (to
> Chrome/Edge), the Windows 10 Settings UI is no longer displayed for the same
> Firefox session - the change is made automatically. Justin, is this an
> expected behavior? 

I believe what you're seeing here comes from Windows 10, which shows a "default application" dialog for new apps when they are installed, but only on their first run. We don't know of a way to retrigger this dialog on subsequent runs.
(In reply to Alexandra Lucinet, QA Mentor [:adalucinet] from comment #21)

> *Please note* that the Windows 10 Settings UI is opened *only* at 1st
> start-up with a clean profile; if the default browser is changed again (to
> Chrome/Edge), the Windows 10 Settings UI is no longer displayed for the same
> Firefox session - the change is made automatically. Justin, is this an
> expected behavior?

Yes, this seems expected.

From comment 20:

> Oh, and note that if you've previously set Firefox as your default with a
> given profile, this UI may be skipped entirely, and Firefox will set itself
> as the default without the OS UI being shown.

This is the change from bug 1184508. The OS UI is still mandatory to set Firefox as the default the first time, but we cache the resulting registry entries (in your profile), and can use those to restore Firefox as the default without going through the native UI.

(In reply to Jared Wein [:jaws] (please needinfo? me) from comment #23)
> I believe what you're seeing here comes from Windows 10, which shows a
> "default application" dialog for new apps when they are installed, but only
> on their first run. We don't know of a way to retrigger this dialog on
> subsequent runs.

Aroo? I'm not familiar with this dialog.
Flags: needinfo?(dolske)
(In reply to Justin Dolske [:Dolske] from comment #24)
> Aroo? I'm not familiar with this dialog.

I don't have a screenshot of the browser-specific one at hand and I haven't figured out how to reproduce it (you gave a good idea of creating a new user account), but this is what it roughly looks like:
http://i.kinja-img.com/gawker-media/image/upload/s--mHY485Cq--/c_fit,fl_progressive,q_80,w_636/1362003383437518225.jpg
Assignee: nobody → jaws
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Whiteboard: [fixed by uplifting bug 1172724 and bug 1179249]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: