Highlights
- 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
Friends of the Firefox team
Resolved bugs (excluding employees)
Volunteers that fixed more than one bug
- Masatoshi Kimura [:emk]
- Sebastian Zartner [:sebo]
- Zac Svoboda :zacnomore
New contributors (🌟 = first patch)
- Krishna Ravishankar fixed incorrect removal of non-expr-stmt when top-level-await is present
- LyScott123 updated ObjectInspector to show wrapped primitive
Project Updates
Add-ons / Web Extensions
WebExtensions Framework
- 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.
WebExtension APIs
- 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.
Developer Tools
DevTools
- 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
- 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)
WebDriver BiDi
- 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)
ESMification status
- ESMified status:
- browser: 86%
- toolkit: 99%
- Total: 95.55%
- #esmification on Matrix
Lint, Docs and Workflow
- 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.
Migration Improvements
- 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.
New Tab Page
- mconley has a patch to replace the bespoke toggle in the customization panel with moz-toggle. MozLitElement will work on about:newtab!
Search and Navigation
- 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 1847979 – Use CSS nesting for .urlbarView-body-inner, .urlbarView-results, .urlbarView-row, .urlbarView-row-inner, and .urlbarView-no-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
- [dao] Bug 1853145 – Use CSS nesting for add-on suggestions
- 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
- Marc removed the security.insecure_connection_icon.enabled and security.insecure_connection_icon.pbmode.enabled prefs
- Daisuke removed the browser.fixup.alternate.enabled pref
- 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 added UTM params to addon suggestion URLs
- 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
- [drew] Bug 1852354 – For addon and Pocket suggestions, the “Show less frequently” option is not removed from the Feedback menu if the Address Bar panel is not closed after reaching the frequency cap
- 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
Storybook/Reusable Components
- 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
Ken Dawes wrote on