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
- Alexandre Poirot [:ochameau] added styling for the selected trace line in the Debugger (#1956753)
- Holger Benl [:hbenl] fixed an issue where logging "Event listener" requestAnimationFrame could freeze the console (#1960694)
- Holger Benl [:hbenl] also made it possible to log functions in logpoints (#1963280)
- Julian Descottes [:jdescottes] fixed a recent regression where we were failing to display "root" single large integers in JSON view (e.g. data:application/json,9999999999999999 ) (#1964888)
- Hubert Boma Manilla (:bomsy) improved the mechanism to decide when we show the preview popup in the Debugger (#1956769)
- Nicolas Chevobbe [:nchevobbe] improved inspector startup time when opening the inspector from the "Inspect" context menu (#1324254)
WebDriver BiDi
- Ben Chatterton updated the webExtension.uninstall command to throw a NoSuchWebExtensionError when an empty string is provided as the extension ID.
- Liam updated "browsingContext.contextCreated" and "browsingContext.contextDestroyed" events to return âclientWindowâ property in all the remaining cases.
- Martin fixed a bug where commands timed out while waiting for a RequestAnimationFrame. While doing so, he also migrated a marionette helper to a shared module to reuse it for WebDriver BiDi.
- Sasha fixed a couple of regressions around emulation.setGeolocationOverride command: we donât have anymore two geolocation services running in parallel and resetting an override without the override being set doesnât cause a crash in the content process. Also, thanks to Kagamiâs fix, the geolocation requests in webdriver tests are executed ~5 times faster.
- Henrik landed the patch to support dispatching of async widget events for wheel scroll actions. The feature is currently enabled only for particular interop2025 required tests, which are already passing in our own CI, and is controlled by the remote.events.async.wheel.enabled preference. Work is ongoing to enable it by default for web-platform tests once all the tests using this action will pass, which allows us to as well pass all the required interop2025 tests in the GitHub CI.
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:
- File:Pictures/100002010000017D00000172F04419C2B45C8E39.png
- The Credential Management team is doing a deep-dive into ways we can make this even better in later releases.
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
- Urlbar
- Scotch Bonnet (aka Unified Search Button)
- Firefox Suggest
- Daisuke implemented VPN suggestions for Firefox Suggest (1963600)
- Places
- 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
- [tgiles] I'm planning on enabling the "clear search" button for the <input type="search"> element for privileged documents in the next Nightly (141). See Bug 1956634 - Enable <input type="search"> in privileged documents for more details. Will also be sending an intent to ship/enable to firefox-dev mailing list.
- The main concern with enabling this button will be duplicate UI elements where there are previously implemented clear search buttons
- The places I've seen these duplicate elements are: Firefox View, DevTools, and GeckoView, but there may be others that I'm missing.
- Please file a blocking bug against 1956634 if you encounter a duplicate clear search button!
- akulyk updated the moz-select options to match the design system
- akulyk added aria-describedby to the support link in our MozBaseInput element
- akulyk fixed our mocking of Services in Storybook so that our stories display correctly
- hjones set up the code connect for the old moz-toggle in Figma
- mkennedy fixed moz-page-nav buttons and links not being scrollable when they are longer than the window
- mkennedy set up the code connect for the moz-message-bar in Figma
- mkennedy enabled prettier for the figma.ts code connect files
- tgiles added the clear search input functionality to the moz-input-search component
- tgiles set up the code connect for the moz-checkbox in Figma
- tgiles set up the code connect for the moz-radio in Figma
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)
- From this thread on #hg-to-git
Meeting Leader Rotation
Add your name below if you want to be in the rotation of leaders:
- mstriemer
- mconley
- hjones
- kpatenio
- jhirsch
- mcrawford