Firefox/Meeting/13-May-2025

General Topics / Roundtable

  • [mconley] Stick around after the meeting if you’d like to help us assemble the headlines! Thanks to akulyk and ayeddi for helping last week!
  • [mconley] Adding a new module? Use moz-src! Please don’t add new modules to EXTRA_JS_MODULES - use MOZ_SRC_FILES instead.

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

  • Isaac Briandt
  • Martin Pitt

New contributors (🌟 = first patch)

  • Brian Ouyang: Bug 1955567 — Search bar has large gaps above/below it when moved to the overflow menu in customize mode
  • Chris Shiohama: Bug 1920146 — In the Developer Tools Network pane, sorting by duration doesn't stay sorted when new requests arrive.
  • Jason Jones: Bug 1960383 — Remove vestigial logic related to browser.translations.panelShown
  • joel.mozillaosi: Bug 1953387 — Duration for incomplete requests should not show "0 min"
  • Abdelaziz Mokhnache: Bug 1953454 — Extract shared helper to compute the title of File, Url and Path columns
  • Ricardo Delgado Gomez: Bug 1960409 — mozMessageBar.ftl is not pulled into about:translations in some contexts

General triage

Project Updates

Accessibility

Add-ons / Web Extensions

Add-ons Manager & about:addons

  • Fix stale data stored in addonStartup.json.lz4 Firefox profile file due to nested _processedColors theme startupData properties triggering a failure when IOUtils.writeJSON is trying to save the data back to disk (Bug 1964281)
  • The new about:addons section to manage Local AI models (currently behind the “browser.ml.modelHubProvider” boolean pref) is now listing the ML models cached locally in the Firefox profile (along with their size on disk) and allows the user to delete the models cached locally (e.g. if the user needs to free disk space) - Bug 1944691

WebExtensions Framework

  • Migrated add-on prompts from the legacy XUL checkbox to the new moz-checkbox reusable widget (Bug 1957990)

WebExtension APIs

  • Final set of changes related to the streamlined user data consent experience (see blog post) on Firefox Desktop has been landed in mozilla-central, in preparation for enabling the feature on all channels and ride the release train (Bug 1964349, Bug 1963331, Bug 1960917, Bug 1956490, Bug 1964962, Bug 1956488, Bug 1956463)
  • As follow-ups of the work to introduce the new tabGroups API:
    • Changed tabGroups.query JSONSchema to mark queryInfo parameter as required (Bug 1965714)
    • Ensure tabGroups events related to tab groups from private browsing windows to be only emitted for extensions that the users have explicitly granted access to the private browsing windows (Bug 1965083). Fix landed in 140 and uplifted to 139 beta.
    • Fixed tabGroups events emitted when a tab group is moved between windows (Bug 1965057). Fix landed in 140 and uplifted to 139 beta.

DevTools

WebDriver BiDi

Desktop Integrations

Downloads Panel

Credential Management

Fluent

Form Autofill

Lint, Docs and Workflow

  • bdk fixed the clippy linter to only run once per run rather than multiple times.
  • Standard8 added various jsdoc to modules in toolkit/modules (and enabled ESLint valid-jsdoc/require-jsdoc for those files).
  • simonf fixed an issue where our generated VS Code settings file for the workspace wouldn't always override the users settings. This could cause issues like a different linter being used to format a file.
    • Use ./mach ide vscode to regenerate the file.

Information Management

macOS Spotlight

Migration Improvements

  • [mconley] We’ve landed patches for the bug that prevents users from importing passwords from Chrome on Windows. Right now, our mitigation is to walk users through exporting their Chrome passwords to a CSV and then letting them import that CSV:

New Tab Page

  • [mconley] We discovered some late-breaking issues in the packaging of newtab as a built-in addon that caused this bug and that resulted in us uplifting a patch to release to repackaging newtab as a classic component while we figure it out.
    • Thanks to the WebExtensions team, we think we’ve figured it out! But we’re being very cautious here, and we’re going to let the newtab as a built-in addon approach ride out in 140, rather than attempt to uplift the fix.
  • [Maxx] We’ve been working with :jules and the UX / design systems team to align newtab’s CSS to better align with the Acorn design system. This includes updating all tokens to reference Acorn units for typography, color, spacing, etc. This will help get newtab ready for downstream changes for the upcoming branding updates later this summer.
    • Thanks to :mossop for helping out adding some lint rules for new tab to enforce the token usage
  • [thecount] Fixed an issue where custom wallpapers were not appearing after restart in some cases. We’re aiming to uplift this to Firefox 139, and if all goes according to plan, enabling custom wallpapers by default during the Firefox 139 release!

Nimbus / Experiments

Password Manager

PDFs & Printing

Picture-in-Picture

Performance

Performance Tools (aka Firefox Profiler)

Places

Privacy & Security

Profile Management

[jhirsch] High-level updates:

  • Planning continues for the full rollout and future feature work
    • Next feature coming: improved avatar customization, including pick your own image
  • We just discovered we will break the world for the Quant UR team unless we migrate heartbeat data to a cross-profile location. Planning underway.
  • So far, we've connected with Nimbus, OMC, and Quant UR.
  • If your team (or another team you're aware of) depends on Nimbus-related per-profile data, let us know. #fx-profile-eng on Matrix / #fx-profile-management on Slack


Bug updates:

  • Jared fixed a bug where we were opening links from other apps in the wrong profile (bug 1963173)
  • Teddy fixed a big collection of UX polish bugs (bug 1956371)
  • Niklas fixed handling of the space key on the delete and edit buttons in the profile selector window (bug 1954882)
  • Mossop fixed race conditions in browser_test_last_tab.js (bug 1950795)
  • Jared added a usage profile group ID to the usage ping (bug 1944648)

Reader Mode

Screenshots

Search and Navigation

  • Urlbar
    • Dao landed two patches that improve how a search string matches tab groups in urlbar results (1964213, 1955643)
    • Dao also landed a patch that surfaces tab group results when a user searches across open tabs (1963889)
  • Scotch Bonnet (aka Unified Search Button)
    • Daisuke fixed two bugs related to the unified search button (1960668, 1960900)
  • Firefox Suggest
    • Daisuke implemented VPN suggestions for Firefox Suggest (1963600)
  • Places
    • James has been working on adding TypeScript type checking to the Places database component (1963252, 1954136, 1954169)
    • Marco landed a patch to handle database corruption and versioning in the Places semantic history database (1964975)
  • Search
    • Moritz enabled favicon support for custom search engines (1661664)
    • Moritz landed a patch that adds a confirmation dialog when the user deletes a user search engine or an open search engine from about:preferences (1954705)
    • Moritz improved the dialog where a user can add a search engine by moving some fields into an “Advanced” section (1963285)
    • Mark made an improvement to SERP telemetry, changing how the algorithm works when we use cookies to detect follow-on searches (1962763, 1962757)
    • Moritz landed a patch that improves feedback to the user if they attempt to add a custom search engine with the same name as an application-provided search engine (1759879)
    • Mandy added locale fallback handling to the Rust-based search engine selector (1955387)

Storybook/Reusable Components/Acorn Design System

Tab Groups

This week I learned

  • [mconley] Florian recently completed mirroring the Telemetry Environment to Glean! This means that we just have some histograms left before we’re fully mirrored!
  • [maxx] How did the Git migration go for people?
    • (General sentiment in chat is “so far so good”)
    • [tgiles] https://mozilla.slack.com/archives/C52EG7AVA/p1746042745977649 ran into broken phabricator revision and that was not that fun trying to fix that via phab API calls. Otherwise, good lol.
    • [mconley] Being able to look at old Mercurial revisions is trickier (I used to be able to locally hg show a commit ID rather than wait on (the rather slow) hg web.
      • [Julian] git-cinnabar might still help you here, if you pull mozilla-unified into your repository.
    • [maxx] git log --grep="bug#" (on main)

Meeting Leader Rotation

Add your name below if you want to be in the rotation of leaders:

  • mstriemer
  • mconley
  • hjones
  • kpatenio
  • jhirsch
  • mcrawford

Headlines link