Firefox/Meeting/18-Mar-2025
Today’s meeting leader is: mconley (subbing in for hjones)
General Topics / Roundtable
Friends of the Firefox team
Introductions/Shout-Outs
[mconley] Shout-out to baku and rpl for helping me diagnose a really weird bug late on Friday related to how we bundle newtab
Resolved bugs (excluding employees)
Script to find new contributors from bug list
Volunteers that fixed more than one bug
erosman [:erosman]
New contributors (🌟 = first patch)
(Will be filled in after the meeting)
General triage
Project Updates
Accessibility
Add-ons / Web Extensions
Addon Manager & about:addons
System addons are in the process of being migrated into add-ons built into the omni jar file (Bug 1938155 / Bug 1948908 / Bug 1950483 / Bug 1953580), pictureinpicture and formautofill migration have been already landed in Nightly 138 (Bug 1948917 and Bug 1948916), webcompat migration should also be landing soon (Bug 1948914).
Like screenshots addon, webcompat-reporter is instead going to be retired as part of fully replacing it with an integrated component (the WebCompat team is working on that as part of Bug 1952334).
A new sections to manage Local AI models UI is currently being introduced in about:addons, the new about:addons section will allow users to list and delete the AI models weights downloaded and cached in the Firefox profile (after being used by features provided by Firefox itself or by extensions using the trialML WebExtensions API) - Bug 1944689 / Bug 1944690
WebExtension APIs
The “userScripts” Manifest V3 API is being enabled by default on mobile builds starting from Firefox for Android 138 (Bug 1949955), the same API has been enabled by default on Firefox Desktop 136 (Bug 1943050)
page_action has been added to the context menu types supported by Manifest V3 menus API, and alarms.create API method is now declared as an async function to allow extension callers to await on the registration of the alarm to be completed (Bug 1869171)
Thanks to Erosman for contributing these two small but very appreciated fixes!!! 🎉
Fixed an issue in browser.trial.ml.deleteCachedModels API method that was preventing it from fully removing cached models weights downloaded by an extension through the trialML API (Bug 1954051)
DevTools
Abdelaziz Mokhnache swapped the log and info filter button in the console (#1950987)
Joshua O'Brien added a time title on console messages timestamp (#1948347)
Gregory Pappas migrated Netmonitor statusbar strings to Fluent (#1953339)
Holger Benl fixed an issue where falsy results for Debugger watch expressions were displayed as (unavailable) (#1952622)
Alexandre Poirot made the Debugger preview tooltips more reliable (#1938418)
Alexandre Poirot made paused line in the Debugger much more visible (#1953229)
Alexandre Poirot migrated our React (and related) third-party libraries to ESM (#1949486, #1949588), as well as an important set of shared component (#1929387)
Alexandre Poirot added a simple user agent preset picker in Responsive Design Mode (#1894628)
Hubert Boma Manilla migrated parserWorker.getClassSymbols and parserWorker.getClosestFunctionName away from Babel (now uses Lezer) (#1943949, #1943945)
Hubert Boma Manilla improved handling of NS_ERROR_NET_EMPTY_RESPONSE in the Netmonitor (#1949683)
Nicolas Chevobbe made the preview in the JSON Viewer more useful (#1950865)
Julian Descottes fixed Debugger "Go to Line" shortcut (Cmd+J) (#1934873)
Julian Descottes fixed a Browser console crashes that was occurring when expanding network messages (#1953352)
Nicolas Chevobbe added previewers for TrustedHTML, TrustedScript and TrustedScriptURL (MDN) (#1935431)
behind a pref dom.security.trusted_types.enabled
Read only smaller fixes
Alexandre Poirot fixed a bug where the debugger wouldn't properly scroll to the breakpoint that was hit (#1928824)
Alexandre Poirot fixed an issue where selecting a pretty printed location from the source tree could select the non-pretty-printed version (#1950654)
Nicolas Chevobbe prevented thread selection in Debugger when moving mouse over Element (#1837480)
Nicolas Chevobbe fixed a regression where the font preview tooltip was using the wrong font (#1952153, #1953135)
Nicolas Chevobbe fixed attribute XPATH search (e.g. //div[text()="hello"] ) in the markup view (#1952836)
Julian Descottes made Network monitor actually fetch timings for requests where totalTime is 0 (#1953516)
Hubert Boma Manilla changed the text/event-stream type was for Server Sent Events to eventsource , to be consistent with other vendors tools (#1880509)
WebDriver BiDi
Sasha added support for the "userContexts" argument to the "browsingContext.setViewport" command. This new argument will allow clients to update the viewport of navigables which belong to the specified user contexts (also known as Firefox containers).
Alexandre Lissy improved the documentation and the handling of the default Firefox binary when geckodriver and Firefox are running under Snap on Linux.
Desktop Integrations
Downloads Panel
Credential Management
Fluent
Form Autofill
Lint, Docs and Workflow
Gijs has made it possible to run just ./mach prettier which will only run the Prettier parts of the ESLint linter. This will help to speed up reformatting after automated changes.
Information Management
macOS Spotlight
Migration Improvements
New Tab Page.
[mconley] The New Tab page code is now being bundled as a built-in addon!
This can be disabled in local builds by adding ac_add_options --disable-browser-newtab-as-addon to your mozconfig (though this will require a full build)
Thanks to everybody who helped us reach this point! There’s still much left to do, but this is a decent milestone to have crossed.
Amy added the ability to use a custom background image! This is currently behind the browser.newtabpage.activity-stream.newtabWallpapers.customWallpaper.enabled pref.
Nimbus / Experiments
Password Manager
PDFs & Printing
Picture-in-Picture
Performance
Performance Tools (aka Firefox Profiler)
Places
Privacy & Security
Profile Management
Team updates: still on track for 138 for a small initial rollout in release
We are planning out work needed to unblock 100% rollout, currently working with DI, OMC, Nimbus teams.
If your work might be impacted by the move from one profile per user to multiple (possibly concurrent) profiles per user, let us know so we can include you in planning. #fx-profile-management on slack or [#fx-profile-eng] on matrix
Bug updates:
Dave fixed bug 1926997 Selectable Profile directory permissions are incorrect
Niklas fixed bug 1927925 Allow the last profile to be deleted via SelectableProfileService
Jared fixed bug 1933998 [Windows] Profile not fully deleted from local directory
With this change, we're retrying deletion of leftover profile files, and if we fail 10 times, we log an error as an NS_WARNING. Let us know
Jared fixed bug 1935430 The profile name should be removed from the FxA account submenu located in the hamburger menu
Dave fixed bug 1937061 Separate profiles of Firefox appear as separate instances in the dock that can persist after exit
🎉 Contributor fix! 🎉Ihar Hrachyshka filed and fixed bug 1939555 Mac: Don't initialize nsApplication when --*version or --help are passed
Teddy fixed bug 1943353 Avatar icon does not stack on top at a 700 x 768 px resolution
Cieara fixed bug 1948954 Profile name text error overlaps the Theme subheading
Sylvestre fixed a funny gcc error - bug 1952241 ‘*this.nsProfileLock::mHaveLock’ is used uninitialized
Dave fixed bug 1952318 Intermittent browser/components/profiles/tests/unit/test_delete_last_profile.js | single tracking bug
Dave fixed 1952597 Links from external apps don't load, clicking a link brings Firefox to the foreground but the URL doesn't open ("SelectableProfileService.getExecutableProcess does not exist")
Reader Mode
Screenshots
Address Bar
Scotch Bonnet redesign is being rolled out as a do no harm experiment in Firefox 136, and if results look good, it may rollout to 100% of the population in Firefox 137
Dale Harvey[1]added a secondary action to quickly access preferences
Moritz Beier has[2]fixed copying address bar content when it includes new lines
Mandy Cheang has[3]fixed localization of local Search Mode labels
Thanks to Emilio Cobos Álvarez for[4]fixing a case where address bar background was transparent
James Teow is working on an updated version of our ranking algorithm (aka frecency), that will soon be tested in an experiment
Suggest
Drew Willcoxon is working on[5]extending Suggest to additional countries and locales
Other notable fixes
Moritz Beier has[6]fixed cmd+K selecting the search field in the Library window
Telemetry clean-up
Thanks fo Florian Quèze for[7]porting some legacy telemetry probes to Glean
Mark Banner[8]ported SEARCH_COUNTS to Glean
Search Service
Mark Banner landed initial Typescript support as part of an experiment for investigating turning it on for more parts of the browser -[9]Bug 1953140,[10]Bug 1951883
Moritz Beier is working on users custom search engine URLs -[11]Bug 1949714,[12]Bug 1948326
🎙️ Introduction by Mark Banner about the work being done on Search Engine Selector
Importing into JavaScript
Storybook/Reusable Components
Tab Groups
Available by default in Nightly and early Beta builds
Available by enabling browser.tabs.groups.enabled starting with Firefox 137
Experimental rollout will begin in Firefox 137, but there won’t be any user onboarding/announcement messaging yet
This week I learned
[mconley] Lando transition: https://groups.google.com/a/mozilla.org/g/firefox-dev/c/-VN4hASPrms