Some more great work from our performance team means that sites using Vue.js 3.0 will run better in Firefox!
We’ve added some new behaviours to session restore, and QA has given us the green light so we’ll be shipping those in Firefox 119 preffed on by default:
We’re also aiming to ship a brand new, more featureful version of Firefox View in Firefox 119! Coming to a Beta near you soon.
Chrome Extension migration support has started to roll out on the release channel! This helps you bring over some or all of your extensions when you migrate your data from Chrome to Firefox. Note that this only supports a limited number of Chrome extensions at this point.
We’re aiming to ship a bunch of URL bar fixes and improvements in Firefox 119, including:
Daisuke has fixed a bug where copying an autofilled URL doesn’t include protocol
Mandy has implemented deduping redirect links (e.g. from Google search result pages) in address bar results
Masatoshi Kimura [:emk]
Sebastian Zartner [:sebo]
Zac Svoboda :zacnomore
Krishna Ravishankar fixed incorrect removal of non-expr-stmt when top-level-await is present
LyScott123 updated ObjectInspector to show wrapped primitive
In Bug 1851373, we fixed a regression (Bug 1830767) related to event pages being terminated while still running. This is a short-term workaround that we also uplifted to both Beta and Release. The longer term fix is now tracked by Bug 1844041.
Fixed a bug that was making the scripting API method getRegisteredContentScripts to be returning scripts registered using the contentScripts API by the same extension - Bug 1851173.
NOTE: only manifest_version 2 extensions may have been able to hit this bug, and only if they are using both APIs (e.g. as part of transitioning to scripting API from contentScripts API but keeping the use of the contentScripts API for cases where the scripting API couldn’t be still used for). We don’t expect this bug to have been hit that often.
As part of migrating WebCompat built-in to the scripting API, we ran into Bug 1853409 because the scripting API matchAboutBlank is unconditionally set internally and we do not expose it in the API (See Bug 1853013 comment 6). As a short term workaround, we agreed with the WebCompat team to special-case the WebCompat extension ID in Bug 1853412 until the underlying Bug 1853409 has been fixed.
Contributors
Sebastian Zartner (:sebo) added inactive CSS warnings for ignored properties on
Zac Svoboda (:zacnomore) made a lot of contributions in the last 2 weeks
Switch to Data view when JSON is broken (bug)
Fixed color contrast for Layout flexbox highlight toggle (bug)
Tweaked spacing on compatibility panel elements (bug)
Fixed a typo in a property name (bug)
LyScott123 made wrapped primitive value visible in console/debugger (bug)
krishna.ravi732 fixed a bug in top-level await console evaluation and for loops (bug)
Arai added column source notes to binary operator and function call arguments so the debugger can underline the right expression for Uncaught TypeError (bug)
Alex improved the debugger performance (e.g. opening a big file is 20% faster) keeping data in a worker and then querying the worker, instead of transfering the data from the worker to the main thread (bug, bug)
Bomsy fixed an issue that would lead to debugger crashes (bug)
Nicolas made the Computed panel show custom properties value (bug)
Nicolas made the Rule view refresh when a stylesheet is added to the page (bug)
Sasha implemented the script.realmDestroyed event which lets clients know when the realm is not available anymore for script evaluation (bug)
Sasha implemented the browsingContext.userPromptClosed event (bug)
Henrik implemented the browsingContext.reload, which provides a simple API to reload a given browsing context (bug)
Julian updated our vendored version of puppeteer to v21.2.0, with almost 100 new tests passing with the BiDi implementation (close to the 50% mark, see https://puppeteer.github.io/ispuppeteerwebdriverbidiready/ ) (bug)
browser: 86%
toolkit: 99%
Total: 95.55%
#esmification on Matrix
The ESLint rule react-hooks/exhaustive-deps will now raise errors rather than warnings. The previous warnings for this rule have been fixed.
Additionally, all the rules enabled in devtools/client/debugger will now all raise errors rather than warnings.
With some other improvements, we're now down to about 13 ESLint warnings left in mozilla-central.
This all helps to ensure that we're fixing issues where we intend for them to be fixed. It also means that using warnings as part of a roll-out mechanism will help highlight that the warnings are something that we need to fix.
Improvements importing when Firefox is installed as a Snap
Thanks to mstriemer and Ani Movsesian from CalState, we’ve got a good sense of a way forward here.
In newer versions of Ubuntu, it seems like we can use a native file picker in folder picking mode to get access to the other browser’s data directories, like we do on macOS for Safari.
mconley is adding run-time feature detection to make sure folder selection is possible given the systems version of xdg-desktop-portal
Then there’s some glue to add instructions for reaching that folder. That work will take place in this bug.
mconley started a conversation on the snapcraft.io forums to see if there are ways to improve the experience further.
We’re doing a small experiment to see if adding some adorable illustrations to the device migration wizard improves the number of people going through it.
mconley has a patch to replace the bespoke toggle in the customization panel with moz-toggle. MozLitElement will work on about:newtab!
Karandeep has implemented telemetry for the upcoming clipboard result feature
Search engine result page telemetry:
James has enabled SERP telemetry on Release
Stephanie has made it so that we extract domains for basic SERP links
James has fixed a bug where clicking certain sponsored links was registered as a "non_ads_link"
James added a listener and store for the Search Categorization collection
Stephanie has fixed Search component's browser mochitests and XPCShell tests use add_setup correctly
We’ve started to use more CSS nesting:
[mandy] Bug 1848302 - Use CSS nesting for weather result rules
[marc] Bug 1847969 - Use CSS nesting for .urlbarView-type-icon rules
[dao] Bug 1847973 - Use CSS nesting for .urlbarView-favicon rules
[dao] Bug 1847975 - Use CSS nesting for .urlbarView-results[wrap] rules
[dao] Bug 1853121 - Use CSS nesting for Tab To Search onboarding
[dao] Bug 1853125 - Use CSS nesting for .urlbarView-dynamic-calculator-action
[dao] Bug 1853127 - Use CSS nesting for Unit Conversion results
Dale has fixed a bug where address bar results show an incorrect link when moving to search engines using the keyboard
Pier from the Tor project has hardened SearchService initialization so that exceptions from extensions won’t make it fail anymore
Dale has fixed the trending searches checkbox in about:preferences not getting disabled when all search engine suggestions are turned off
Add-on suggestions for Firefox Suggest users
Drew has enabled addon suggestions by default with treatment B (no rating stars)
Drew has updated the "Not relevant" command for addon suggestions to block individual suggestions
[drew] Bug 1852300 - Address Bar result menu glitches after an Add-on recommendation is dismissed
[drew] Bug 1852353 - Minimum keyword length/character count is not capped for addon suggestions
Daisuke moved sponsored suggestions higher in the results list
Marco fixed Bug 1852963 - Some tests await on BrowserTestUtils.loadURIString, that doesn't wait for load
Notably, this rename BrowserTestUtils.loadURIString to .startLoadingURIString
Jules updated our Typography support in design tokens - Look for the text-and-typography.css file for some class helpers - Bug 1838939
sclements updated panel-list to add submenu support this week - Bug 1845333
General Triage:
mak, dimi, tgiles, hjones are this month’s Firefox / Toolkit :: General triagers
[mconley] Test manifest transition from bespoke .ini to TOML continues
[tgiles] Intent to Implement with some background
[mandy] resources on css nesting that I found helpful
This information, including all of the previous updates, are fully available in this doc: https://docs.google.com/a/mozilla.com/document/d/1u9YH3ULNRYg6G-fN-Udkvfkcvg0alJfzi_zIAfFNkL8/edit?usp=sharing
Also note that I'm really just synthesizing and humanizing the stuff that's on the Wiki, which is freely available from here: https://wiki.mozilla.org/Firefox/Meeting, so check that out if you want the source material. It'll also be posted (minus the Below the Fold stuff) to the Nightly blog.
Finally, if there's a Firefox-ish team that you feel isn't being represented here, please let them know about the above meeting so we can get their updates.
Keep on rockin' the free web,
-Mike