Firefox/Meeting/19-Mar-2024
Contents
Mar 19, 2024
General Topics / Roundtable
[mconley] There’s an issue with artifact builds on macOS. The TL;DR is that if you have a local artifact build from anytime after the end of February, it might attempt to download and apply a patch, thinking that it’s on the “nightly” update channel. This can result in some weird behaviour, where (sometimes) ./mach run will result in a quick restart of the build, and a Nightly will launch with the official Nightly branding.
This is being tracked in https://bugzilla.mozilla.org/show_bug.cgi?id=1885985.
Workarounds:
- Run compiled builds (non-artifact)
- Clobber frequently (should be relatively fast because we cache the binary bits we download locally)
[gijs] Firefox for Android has joined us in mozilla-central! 🎉
Friends of the Firefox team
Introductions/Shout-Outs
Resolved bugs (excluding employees)
Script to find new contributors from bug list
Volunteers that fixed more than one bug
- Bojidar Marinov [:bojidar-bg]
- Nikki Bernobic [:echrs]
New contributors (🌟 = first patch)
- Will be filled in after the meeting
General triage
This month’s Firefox / Toolkit :: General triagers are:
fchasen, cmkm, James, Micah
Project Updates
Accessibility
Add-ons / Web Extensions
Addon Manager & about:addons
Firefox users using the openSUSE Tumbleweed rolling release Linux distribution have been experiencing add-on signing verification issues due to a crypto-policies system config file that disabled SHA-1 in a recent update made by openSUSE. We have investigated the issue (see Bug 1885971) and the openSUSE fix for this issue is tracked in their Bugzilla instance as http://bugzilla.opensuse.org/1221531
⚠️ No need to call this out in the headlines
WebExtension APIs
- Starting in Firefox 125 proxy.onRequest allows proxyAuthorizationHeader to be used also on HTTP intercepted requests - Bug 1794464
Developer Tools
DevTools
- Artem Manushenkov updated the Watch Expressions input field placeholder value (#1619201)
- Artem Manushenkov made sure that the "Pick an element from the page" keyboard shortcut is disabled when the feature itself is disabled. (#1763961)
- Nicolas Chevobbe improved Style Editor opening by 15 to 20% (#1884072)
- Alexandre Poirot fixed the Network panel in the Browser Toolbox so it can actually show network requests (#1883947)
- Alexandre Poirot added documentation for the JS tracer (#1884194)
Nicolas Chevobbe added support for CustomStateSet objects, used for Custom State pseudo classes (#1862896)
behind dom.element.customstateset.enabled
WebDriver BiDi
- Henrik Skupin vendored the new Puppeteer v22.4.0 release into mozilla-central (#1878632)
- Henrik Skupin fixed mach puppeteer-test command to enable running the tests with Chrome, including the ability to specify a custom binary (#1877629)
- Henrik Skupin fixed the behavior when running with only WebDriver BiDi enabled (without CDP), no recommended automation preferences were being set for Firefox (#1882748)
- Henrik Skupin resolved a race condition in WebDriver BiDi when creating or switching between tabs within the same OS window. This fix ensures that the document.visibilityState value is correctly set to hidden when the corresponding commands are executed (#1877469)
- Alexandra Borovova implemented the input.setFiles command, which allows clients to set the files property of a given input element with type file to a list of file paths (#1855040)
- Julian Descottes added a new capability userAgent for WebDriver Classic and BiDi, which returns the default user agent (#1885495)
ESMification status
- Standard8 has been cleaning up some obsolete JSM references in code.
ESMified status:
devtools: 89.29%
mobile: 98.37%
Everywhere else: 100%
Only 7 JSMs left in the tree!
Total: 99.54% (+0.19% from last time)
- #esmification on Matrix
Lint, Docs and Workflow
Gijs has enabled a new rule to block adding more globals to browser.js.
Please see the metabug for details about splitting up browser.js.
- Greg enabled the valid-jsdoc ruleset on the toolkit/components/translations/ component.
Standard8 enabled the ESLint no-console rule on production code.
See the announcement for more details.
Migration Improvements
Backup up a profile to a file project
This project is still in its early infancy, and we’re starting with measurement.
We’ve landed some probes and infrastructure over the past few days. We expect to have the initial probe landings done this week or early next. Then we can begin the next phase, which is to implement the “staging” of a backup in the background.
We’ve landed a patch to allow creating backups of the user preference state, off of the main thread.
Working with PM and UX, we think we’ve settled on a format for the single-file backup archive that ticks all of the boxes. We’ll hopefully have more details on that soon after we finish writing documentation for it.
Performance
- The first version of the Speedometer 3 benchmark was released last week. Read bgrins’ blog post about the benchmark, and how we’re collaborating with other browser vendors to develop a meaningful benchmark that has actually resulted in felt improvements to web performance.
- The off-main-thread Jump List backend for Windows shipped today in Firefox 124!
Performance Tools (aka Firefox Profiler)
Screenshots (enabled by default in Nightly)
- This was mentioned in the meeting but I wanted to shout out again that the screenshots component is now enabled in Nightly (bug 1789727)! This allows screenshots on about: pages, has better performance, keyboard accessibility, and much more!
- niklas fixed a bug where pasting into slack wasn’t working
- niklas fixed a bug where black lines could appear in screenshots on certain zoom levels
- Niklas is a new owner of the Screenshots module
- Daisuke fixed a 22-year old bug and we now prevent passwords in urls from being saved in history.
- Marco fixed a few bugs related to and then enabled cross-container tab search on beta and release. This should go out with Firefox 125.
-
The search configuration defines the search engines which are displayed to the user by default, according to their region, locale and other settings.
Standard8 and mcheang have enabled the new search configuration on nightly, due to ship in FF 126
This replaces the previous WebExtension + remote settings collection with a single remote settings collection for the configuration, and a separate one for icons.
It also addresses complexities and other issues that were in the old configuration.
The same collection will also be picked up later this year by our mobile platforms, allowing easier updates to our search engine configuration across products.
- Marco fixed a bug where bookmarks could not be imported for very large sets of bookmarks.
- jteow, karendeep and scunnane continued work on improving our SERP (Search Engine Result Page) telemetry.
- adw and dharvey continued work on improving cross-platform suggestions