Closed Bug 1868410 Opened 10 months ago Closed 10 months ago

MSIX set to default browser takes too long

Categories

(Firefox :: Installer, defect, P3)

Firefox 122
Desktop
Windows
defect

Tracking

()

VERIFIED FIXED
122 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox120 --- unaffected
firefox121 --- unaffected
firefox122 + verified

People

(Reporter: michaelahughesuk, Assigned: michaelahughesuk)

References

(Regression)

Details

(Keywords: regression, Whiteboard: [fidedi])

Attachments

(1 file)

With the new 1-click set to default working on MSIX in FX122, it blocks the UI in certain cases because it takes too long.

More info in future comments.

See Also: → 1864194

This fix is attached to that bug but is mostly cleanup work in preparation of speeding things up.
This addresses feedback in https://phabricator.services.mozilla.com/D194828

It:

  • makes use of nsString
  • moves the thread managing code out of SetDefaultBrowser.cpp and into DefaultAgent.cpp
  • puts auto in a couple of places to make the code easier to read
  • removes some logging statements in the powershell script to be written
Assignee: nobody → mhughes
Status: NEW → ASSIGNED
Attachment #9367567 - Attachment description: Bug 1868410 - MSIX set to default browser takes too long r=nalexander,nrishel → Bug 1868410 - Pre: MSIX set to default browser takes too long r=nalexander,nrishel
Attachment #9367567 - Attachment description: Bug 1868410 - Pre: MSIX set to default browser takes too long r=nalexander,nrishel → Bug 1868410 - MSIX set to default browser takes too long r=nalexander,nrishel
Pushed by mhughes@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/7da2e7486803 MSIX set to default browser takes too long r=nalexander,nrishel

The fix for this (much improved time to set the browser/extension defaults on MSIX) just landed. I'm waiting for Microsoft Store approval for a build I made there that QA can test with. I will add a comment with a link to that once it's approved.

I'll copy and paste repro steps from the previous bug here so that anyone looking knows how to test.

NOTE!

Microsoft has been rolling out changes to both Windows 10 and Windows 11 which will specifically make the 1-Click Set to Default functionality not work. According to David Rubino, they have rolled out these changes to some larger number (20% or something) of Windows 11 users and only to 2% of Windows 10 users. So the change being sped up with the fix for this bug will only change things on some machines, and I can't clarify exactly what circumstances will make 1-click set to default work and what won't.

The changes were rolled out around Windows 11, version 23H2, so I believe using versions of windows older than that will allow for the 1-click set to default to be tested. Going off of that, probably means that for Windows versions newer than Windows 11, version 22H2: triggering the Set to Default functionality doesn't work (because of the OS) and the Default Apps system window will popup and give the user the option to set Firefox as the default browser.

This bug fix in particular is to speed things up in the case where it works. So please note the amount of time it takes to set the default in all of the following cases. If it's longer than a few seconds, please report it (along with what your testing situation was: VM, non-VM, Win10 or 11, etc).

QA / Repro:

To confirm that setting the default worked:

  • open the "Defaults Apps" window (use the Windows menu on the taskbar)
  • type the following types in the search box (that says "Enter a file type or link type") and confirm that the newly installed app is set as the handler:
    • https
    • http
    • .html
    • .htm

It can be difficult to see that the changes worked, if you have multiple versions of Firefox installed. So before doing any testing, and between runs of different tests, it is probably best to use the Default Apps window to change the default browser to Chrome or Edge. That way, when Firefox is changed to the default, you'll be able to tell.

To test the fixes for this bug, there are 4 different scenarios. They should be tested from both a Windows 11, 22H2 or older install of Windows, and a build of Windows that's newer than that. I'll refer to those as "old" windows and "new" windows from here on out.

From about:welcome

On "old" Windows:

  • make sure that Chrome or Edge is set as the default browser first
  • install the MSIX package
  • start the Firefox app
  • if the welcome tour doesn't start automatically, type "about:welcome" in the awesome bar.
  • click the option for "Set ______ as default browser"
  • click Save and Continue
  • Follow the steps listed above to confirm that setting the default worked.
  • Confirm that everything worked. Please also report if anything was particularly slow, especially after hitting Save and Continue.

On "new" Windows:

  • make sure that Chrome or Edge is set as the default browser first
  • install the MSIX package
  • start the Firefox app
  • if the welcome tour doesn't start automatically, type "about:welcome" in the awesome bar.
  • click the option for "Set ______ as default browser"
  • click Save and Continue
  • The Default Apps window should popup automatically, but Firefox should not be set as the default for any of the expected handlers (https, http, .htm, .html)

From about:preferences

On "old" Windows:

  • make sure that Chrome or Edge is set as the default browser first
  • install the MSIX package if not done already
  • start the Firefox app
  • type "about:preferences" in the awesome bar.
  • click the "Make Default..." option
  • Follow the steps listed above to confirm that setting the default worked.
  • Confirm that everything worked.

On "new" Windows:

  • make sure that Chrome or Edge is set as the default browser first
  • install the MSIX package if not done already
  • start the Firefox app
  • type "about:preferences" in the awesome bar.
  • click the "Make Default..." option
  • The Default Apps window should popup automatically, but Firefox should not be set as the default for any of the expected handlers (https, http, .htm, .html)

From the messaging system

On "old" Windows:

  • make sure that Chrome or Edge is set as the default browser first
  • install the MSIX package if not done already
  • start the Firefox app
  • turn on your asrouter:
    • go to about:config
    • search for and enable this setting: browser.newtabpage.activity-stream.asrouter.devtoolsEnabled
    • restart Firefox
  • go to "about:newtab#asrouter" in the awesome bar
  • Ctrl+F and search for FIREFOX_VIEW_SPOTLIGHT
  • Modify the "primary_button" section to this:

"primary_button": {
"label": {
"string_id": "firefoxview-spotlight-promo-primarybutton"
},
"action": {
"type": "SET_DEFAULT_BROWSER",
"navigate": true
}
},

  • Click Modify
  • With the popup, click "See how it works"
  • Follow the steps listed above to confirm that setting the default worked.
  • Confirm that everything worked. Please also report if anything was particularly slow.

On "new" Windows:

  • make sure that Chrome or Edge is set as the default browser first
  • install the MSIX package if not done already
  • start the Firefox app
  • turn on your asrouter:
    • go to about:config
    • search for and enable this setting: browser.newtabpage.activity-stream.asrouter.devtoolsEnabled
    • restart Firefox
  • go to "about:newtab#asrouter" in the awesome bar
  • Ctrl+F and search for FIREFOX_VIEW_SPOTLIGHT
  • Modify the "primary_button" section to this:

"primary_button": {
"label": {
"string_id": "firefoxview-spotlight-promo-primarybutton"
},
"action": {
"type": "SET_DEFAULT_BROWSER",
"navigate": true
}
},

  • Click Modify
  • With the popup, click "See how it works"
  • The Default Apps window should popup automatically, but Firefox should not be set as the default for any of the expected handlers (https, http, .htm, .html)
Status: ASSIGNED → RESOLVED
Closed: 10 months ago
Resolution: --- → FIXED

We used the latest Nightly MSIX build from today to test and we can confirm that we don't experience the same issue now. We used both W11 22h2 and 23h2 (old and new) builds.

Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: