Firefox/Meeting/04-Aug-2026
Today’s meeting leader is: mconley
Aug 4, 2026
General Topics / Roundtable
[mconley] l10n coverage gating, which is something we need to do because of Metronome
See https://phabricator.services.mozilla.com/D312985 for how this might be used
Still feeling this out, and I expect we’re going to hit some bumps along the way.
[Mossop] Nova Tests
Meta bug: https://bugzilla.mozilla.org/show_bug.cgi?id=nova-tests
We enabled Nova on Nightly by default and disabled tests that failed. We still run the tests in non-Nova mode for coverage, but don’t want to do this for long. Please evaluate tests in your domain to try to get these re-enabled!
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
:Vincent
japandi
Nirmal Advani
Sebastian Zartner [:sebo]
tanvi.manku
New contributors (🌟 = first patch)
🌟 Anil Verman: [Docs Trigger listeners doc is seriously out of date]
Giulio B: frameId is wrong in webRequest events triggered via importScripts
🌟 Luiz Henrique Vieira: Remove dead CSS rule .alltabs-item[selected="true" ]
🌟 Devin Rousso: `emulation.setLocaleOverride` does not override `Accept-Language` header for in `Worker` for `fetch` and `WebSocket`
🌟 muhammad shaikh: Profile delete page heading should enclose profile name in quotes
🌟 Kevin Gosse: nsDataObj::QueryGetData in Firefox returns E_FAIL for formats it doesn't carry, instead of DV_E_FORMATETC per the COM contract
Lukáš Lipinský: Česká televize captions do not display in the Picture-in-Picture window
🌟 mikey gough: Remove three unused devtools.debugger.file-search-* preferences
🌟 Nathan Leuz: Remove unused legacy preference browser.translation.neverForLanguages
🌟 Shawn Zivontsis: Reorder moz_origins composite unique index to UNIQUE(host, prefix)
tanvi.manku:
General triage
Project Updates
Accessibility
Add-ons / Web Extensions
Addon Manager & about:addons
As part of Nova about:addons work:
Introduced a shared localization module for built-in and curated AMO-hosted theme names, and updated the corresponding about:addons theme test to expect the new "Default" theme name shown when Nova is enabled -[1]Bug 2055936 /[2]Bug 2058235
Added a message bar to the about:addons themes picker to surface AMO-hosted Nova theme download and install failures instead of failing silently -[3]Bug 2054548
WebExtensions Framework
Fixed a startup race where an extension's restored dynamic content scripts could be missing from the parent WebExtensionPolicy due to stale shared data -[4]Bug 2058719
WebExtension APIs
Fixed publicSuffix.isKnownSuffix() to reject invalid domain-name characters, including wildcard suffixes, that could previously be matched as a known public suffix -[5]Bug 2059819
Fixed the frameId reported by webRequest events for requests made from workers, including importScripts()-loaded scripts, which were previously attributed to the wrong frame -[6]Bug 2048884
Thanks to Giulio B for the fix to webRequest frameId attribution for worker requests.
DevTools
Sebastian Zartner [:sebo] added a panel to expose @media emulation (#1692434) and provided a way to emulate @media (prefers-reduced-motion: reduce) (#1477920)
Benoit made it possible to display JSON Lines (JSONL/NDJSON) documents in the JSON Viewer (#2055774)
Leo McArdle [:leo] continues his quest to add MDN icons next links to MDN (#2049610, #2050159)
Julian Descottes [:jdescottes] vastly improved DevTools screenshot performance (by up to 35%) (#2056716)
Hubert Boma Manilla (:bomsy) fixed keyboard navigation for about:debugging (#2050797)
Julian Descottes [:jdescottes] fixed a bug that was preventing to show error messages in about:debugging (#2058021)
Nicolas Chevobbe [:nchevobbe] made ::checkmark pseudo element visible in the Inspector (#2009909)
Used by customizable select (MDN)
Preference: dom.select.customizable_select.enabled
WebDriver
Nirmal Advani cleaned up our codebase by removing the executeSoon helper, which was just a thin wrapper on top of Services.tm.dispatchToMainThread().
Sameem removed support for the "contexts" argument in the "session.unsubscribe" command. From now on, clients can unsubscribe only by event names or subscription ids.
John Schanck added support for validating if an authentication id is stored in the Virtual Authenticator Database.
Alexandra Borovova disabled the download panel to prevent the loss of the focus of the current document when a download begins.
Desktop Integrations
Credential Management
Fluent
Form Autofill
Lint, Docs and Workflow
Sylvestre has converted all our in-tree documents to be Markdown instead of reStructuredText.
Standard8 adjusted the source doc upload task, that runs on code review, to report failures into phabricator, rather than having a generic error message.
Standard8 made it so that test-manifest-toml issues for out-of-order entries should show up in phabricator more often.
https://arewemozsrcyet.com/ continues to head (mostly) in the right direction.
Information Management/Sidebar
macOS Spotlight
Migration Improvements
New Tab Page
HNT Eng had a work week last week. Did a lot of prep for big cleanups (Nova, Widget cleanup post WCW)
Also worked on ways to automate trainhops / make them easier to deploy
Jack Brown[7]updated newtabTrainhopAddon to allow co-enrollment and prioritize the highest version number, which ensures the New Tab Page picks the newest addon build when multiple enrollments overlap and prevents older experiment variants from replacing newer installs.
Fred Chasen[8]fixed AccuWeather sponsored text overlapping the "Tell us what you think" link by adjusting medium weather card CSS (z-index and pointer-events), restoring hover and click behavior for the feedback link on affected New Tab Page cards.
Mike Kaply[9]fixed wallpaper uploads failing when the wallpaper list can't be queried from remote settings by adding a remote‑settings query fallback/local cache and defensive error handling so users can upload custom wallpapers during remote‑settings outages or timeouts.
japandi[10]added the widgets.clocks.interaction pref and wired interaction tracking so World Clocks now emits telemetry/events for taps and opens (pref registration + tracker hooks), enabling accurate UX metrics without changing visible UI behavior.
Maxx Crawford[11]prevented the weather widget from activating without user opt‑in by gating activation on the opt‑in pref and updating the onboarding flow, so weather and related location/telemetry remain disabled by default until explicit user consent.
Irene Ni[12]made the New Tab client request layouts from remote-settings so NTP layouts and remote-config-driven content now update on load instead of remaining stale; this fixes cases where layout changes pushed via the remote-settings service (layouts collection) weren't applied, improving consistency on desktop and Android clients that rely on remote layouts.
Nirmal Advani[13]removed three unused activity-stream preferences (discoverystream.thumbsUpDown.*) from prefs and related code paths, reducing prefs surface area and avoiding confusion in about:config/telemetry without changing user-visible behavior.
Mike Conley[14]fixed ExternalComponentWrapper to forward "live" properties like isIntersecting from MessageWrapper, restoring correct IntersectionObserver-driven behavior (visibility-based lazy-load and impression tracking) for remote components in the New Tab Page and discovery streams that relied on isIntersecting for render/telemetry triggers.
Irene Ni standardized New Tab widgets and sections header spacing (standardize spacing) to remove misaligned tiles and reduce visual jitter when resizing or toggling sections in the New Tab Page.
Mike Conley removed version-153 train-hop compatibility shims for the World Cup newtab logo variations (remove compatibility shims), an internal cleanup that prevents legacy logo-selection fallbacks from influencing current logo variations.
Maxx Crawford exposed available browser themes to New Tab and added apply/install actions (expose and apply themes), allowing users to install or immediately apply themes from the New Tab surface via ThemeManager/Theme API hooks.
Maxx Crawford added New Tab Customize Panel browser theme selection strings (add theme selection strings) so the new theme-selection UI is localized and displays correct labels across locales.
Maxx Crawford added a full browser theme selection sub-panel to the New Tab Customize Panel (theme selection sub-panel) to let users browse, preview, and pick themes directly inside the New Tab customization flow.
Scott Downe fixed[15]Custom newtab wallpapers flash / blink some seconds after loading newtab by ensuring the custom wallpaper is painted only after image data is ready, which removes the multi-second visual flash on about:newtab for users with custom backgrounds and improves perceived stability during initial new-tab load.
Maxx Crawford exposed[16]trainhopConfig values in Discovery Stream Admin tooling, giving operators direct access to trainhop routing/weight values from the admin UI/API so content trains and experiment routing can be adjusted without code deploys—this has no immediate end-user UI change but reduces time-to-rollout for Discovery Stream content changes.
Dre fixed[17]Newtab custom wallpapers flash when selecting from picture of the day widget by deferring the wallpaper swap until the selected Picture of the Day is decoded and ready, which prevents the transient blank/flash users saw when changing wallpapers via the widget and makes wallpaper selection feel instantaneous and stable.
Maxx Crawford[18]used the POTD thumbnailUrl image for the widget background (instead of the high-res image), which reduces bandwidth, memory footprint, and New Tab Page widget load latency for users who see the Picture‑of‑the‑Day widget.
Kyle Jones[19]added MAC support to TopSitesFeed when fetching tiles from MARS, which enforces authenticated tile retrieval and reduces missing/401 tile failures for users relying on MARS‑served Top Sites tiles.
Nimbus / Experiments
Password Manager
PDFs & Printing
Picture-in-Picture
Thanks to Lukáš Lipinský for adding caption support to Česká televize!
Thanks to kernp25 for adding caption support to ardmediathek.de!
Performance
Performance Tools (aka Firefox Profiler)
Bug 2050028 - Enable the Gecko profiler by default with low-overhead features when running mochitests landed, which means mochitest failures now upload profiles by default:
https://tests.firefox.dev/try.html can give you a prompt to ask an AI agent to look at the profile for you using profiler-cli:
Privacy & Security
Profile Management
Screenshots
Search and Urlbar
Dao and Moritz continue work on MCAB working on making the address bar's contents to be[20]content-process-safe and preparing to[21]allow cross-process IPC for the address bar.
Mike Kaply[22]fixed hidden actions still visible in Quick Actions mode.
Daisuke and Drew continued work on supporting Nova on the[23]address[24]bar and search bar components.
Caleb continued work to[25]use[26]array-binding for places sql queries, to improve performance.
Smart Window
Storybook/Reusable Components/Acorn Design System
Tab Groups
Tests
UX Fundamentals
Settings Redesign
This week I learned
[mconley] Hackbot for triage
[florian] We log about 100M lines of ‘noise’ per day https://tests.firefox.dev/errors.html?kind=mochitest