Firefox/Meeting/18-Aug-2026
August 18, 2026
General Topics / Roundtable
[mconley] General triagers instructions guidance: please make sure to also poke the > 14 days needinfos!
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
Benoit
Chris Vander Linden
Fede
japandi
Lukáš Lipinský
Nirmal Advani
Ruhollah Majdoddin
Sameem [:sameembaba]
Sebastian Zartner [:sebo]
Zyphrenn
New contributors (🌟 = first patch)
(Will be filled in after meeting)
General triage
Project Updates
Accessibility
Add-ons / Web Extensions
Addon Manager & about:addons
As part of Nova about:addons work:
Added a "Use Linux system theme" checkbox to the default theme card in about:addons -[1]Bug 2054885
Replaced the "more themes" button in the themes list view footer with a promo element when Nova is enabled -[2]Bug 2057200
Removed the testing XPI base url pref from ThemesList.sys.mjs -[3]Bug 2053220
Fixed a mismatch between the popup panel border radius applied by Nova and the border radius applied to the document.body of the WebExtensions popup page loaded into it -[4]Bug 2057844
Moved new strings added as part of the about:addons Nova restyling out of the locales preview -[5]Bug 2052034
As part of legacy telemetry cleanups for the Add-ons related telemetry, migrated addons-search-detection telemetry off the legacy telemetry mirroring path, now collected only through Glean -[6]Bug 2055606
WebExtensions Framework
Fixed a series of intermittent and CI-reliability test failures across the WebExtensions browser-chrome test suite -[7]Bug 1575369 /[8]Bug 1697626 /[9]Bug 1699341 /[10]Bug 1974953 /[11]Bug 2015004 /[12]Bug 2030542 /[13]Bug 2062186 /[14]Bug 2062187 /[15]Bug 2062189 /[16]Bug 2062191 /[17]Bug 2062193
Thanks to Florian Quèze for applying his work on an LLM-based system for investigating intermittent tests to investigating and fixing intermittents and perma failures across the WebExtensions test suite.
DevTools
Ruhollah Majdoddin fixed issues in the Storage panel to make sure we're only showing relevant cookies (and their values) for the debugged tab (#1856645, #2060029, #2061166) and also did some cleanup in this area (#2061348)
sevenwithawp added a keyboard shortcut (Ctrl+Alt+B, Cmd+Alt+B on Mac) to disable/enable breakpoints (#1642578)
Hubert Boma Manilla (:bomsy) continues his work to display stylesheets in the Debugger (#2051029, #2051264)
Preference: devtools.debugger.features.stylesheets-in-debugger
Nicolas Chevobbe [:nchevobbe] added support for ::picker() rules in pseudo element section (#2042839)
Used by customizable select (MDN)
Preference: dom.select.customizable_select.enabled
Nicolas Chevobbe [:nchevobbe] made CSS explainers work for substitution functions (var(), attr() and env()) (#2041622)
Preference: devtools.inspector.css-explainers
Julian Descottes [:jdescottes] fixed an accessibility bug in about:debugging where error message where not announced (#2056332)
WebDriver
Sameem added the cleanup logic for subscriptions when a browsing context is destroyed.
Nirmal Advani updated the Actions API to fire the dblclick event when performing a double-click while holding down the Ctrl key on non-macOS platforms.
Khalid AlHaddad updated the webdriver bidi moz:debugging module to stop using enterNestedEventLoop which can avoid conflicts with the regular DevTools' debugger.
Alexandra Borovova fixed the "browsingContext.reload" command to not fail for frames.
Desktop Integrations
Credential Management
Fluent
Form Autofill
Lint, Docs and Workflow
No updates this week
Information Management/Sidebar
macOS Spotlight
Migration Improvements
New Tab Page
Big ticket items:
Did a trainhop last week to help with the remote layouts effort
Doing another trainhop this week to make some spacing optimizations, deploying tomorrow if all goes well
We will be experimenting with some more layout variations over the next few months
We’ve migrated a bunch of our unit tests to Jest/RTL from the deprecated Mocha / Karma framework we’ve historically used.
Joel added a WebNotifications badge to Top Sites on the New Tab Page which surfaces per-origin unread web-notification state directly on TopSites tiles by rendering a compact badge in the activity-stream/TopSites component—users can now glance at NTP tiles to see which sites have pending web notifications without changing navigation or site state (affects desktop and mobile NTP Top Sites UI). This is something we plan on experimenting with later this year.
Similarly, Joel added a TopSites hover card with notifications which expands the to show per-site notification items and actions on hover or long-press, enabling users to read and dismiss notifications from the NTP itself rather than opening each site.
Hanna Alemu[18]fixed the focus outline for the “Learn how we protect your data” link in NEWTAB_PERSONALIZATION_MESSAGE, replacing the blue non-rounded ring with the standard rounded focus style via CSS so keyboard and assistive users get a consistent, discoverable focus indicator.
Maxx Crawford[19]added logic to show different tip messages throughout the day/week on the New Tab Page in the upcoming privacy widget, implementing time-of-day/day-of-week selection in the tip renderer so users receive context-varying tips rather than a static message, which affects the tip surface and supports time-targeted experiments.
Irene Ni[20]removed the New Tab daily briefing slice from the New Tab Page, so users will no longer see the daily-briefing card on new tabs and related New Tab slice prefs/registrations were cleaned up.
Jack Brown[21]migrated the New Tab ContextMenu/LinkMenu implementation to the panel-list component, so right-click menus and link context behavior on the New Tab now use panel-list rendering (affects keyboard navigation, theming, and menu perf).
Irene Ni[22]removed a root-level <hr> selector from the Weather forecast widget SCSS that leaked global divider styles into the New Tab Page layout, restoring correct dividers and preventing spacing/layout regressions on about:newtab.
Irene Ni[23]enabled the remote-settings-driven sections layout in Nightly, flipping the remote-settings/sections layout so Nightly users receive Discovery Stream section composition from Remote Settings.
Irene Ni[24]automated the New Tab Page locales update for train-hop to ensure locale bundles are refreshed on train deploys so users see corrected translations and no longer encounter stale labels after a hop.
Reem Hamoui[25]fixed the Crossword widget double-counting and removed broad "interaction" user_actions so telemetry and UX-triggered actions reflect a single user event and analytics driven by user_action are no longer inflated.
Dre[26]fixed the "Show more widgets" visibility by adjusting the widget container overflow/visibility logic so the Show more control is reliably revealed on constrained viewports, restoring widget discoverability.
Joel[27]fixed newtab.closed and newtab.sections_impression firing unexpectedly on the New Tab Page by gating event emission on section visibility and tab lifecycle, which stops spurious impression and close telemetry pings and improves the accuracy of NTP impression/close counts for affected users.
Joel[28]added a topsite display customization event to newtab ping, updating the New Tab ping schema so user topsite layout and appearance changes are emitted as topsite.display_customization events, enabling reliable capture of pin/remove/resize/customization actions in Telemetry.
Nina Pypchenko [:nina-py][29]added widgets.stocks.interaction and flip it on user actions so explicit click/tap interactions with the Stocks widget now generate widgets.stocks.interaction events, improving engagement capture for the Stocks surface.
Nina Pypchenko [:nina-py][30]migrated the Stocks widget telemetry to the shared useWidgetTelemetry hook, standardizing how the Stocks widget emits metrics and ping fields to match other widgets, which reduces missing/duplicate events and makes per-widget telemetry consistent across platforms.
Irene Ni created an initial JSON dump of Remote Settings sections layouts for cold startup to prepopulate New Tab Page sections on first launch and reduce layout flash or missing tiles.
Nina Pypchenko [:nina-py][31]added a persistent "New" badge to the Stocks widget until first user interaction, which improves discoverability of the Stocks card and is cleared on the user's first click/tap.
Maxx Crawford[32]implemented a side-by-side content layout variant for the New Tab Page feed, which introduces a new responsive layout option that changes feed column behavior and visual density on wider viewports.
Scott Downe[33]added support for five-column content feed layouts, which enables denser content grids for large displays by updating grid logic and responsive breakpoints and affects NTP rendering on wide screens.
Dre[34]added a "Celebrations" UI state to the Privacy Widget, which surfaces milestone/celebratory visuals and transient animations in the Privacy Widget when triggers are satisfied.
Irene Ni updated the New Tab topsite context menu button to respect[35]prefers-reduced-motion via CSS/media-query changes, so users with reduce-motion enabled no longer see the button's motion/animation.
Scott Downe[36]expanded New Tab's list of region and locales for content support, updating the New Tab content selection config and region→locale mappings so more users in newly-added locales receive localized tiles and recommendations on the New Tab Page.
Irene Ni[37]fixed the New Shortcut / Edit Shortcut prompt background being transparent with the Newtab addon installed, restoring CSS/background opacity for the edit UI so shortcut editing is readable across themes and addon combinations.
Maxx Crawford[38]added a dedicated trainhopConfig.widgetPrivacy payload for the Privacy widget feature, introducing a per-trainhop config payload in Discovery Stream so Privacy widget rollouts and toggles can be controlled without code deploys.
Maxx Crawford[39]added a layout management panel in Discovery Stream Admin, giving editors an admin UI to modify New Tab/stream layouts (reduces manual config edits and speeds layout experiments).
Dre reduced the Privacy Widget celebration sparkles on the New Tab Page in[40]Privacy Widget Celebration: Reduce the Sparkles by lowering particle counts and throttling animation cadence in the widget's CSS/JS animation code, reducing visual noise and a small amount of GPU/animation work for users during the celebration without changing privacy settings.
Maxx Crawford[41]restored the "Change size" context menu item for the side-by-side experimental New Tab layout so users with the side-by-side exp layout enabled regain the resize control in widget context menus.
Maxx Crawford[42]stopped the sports widget from rendering regardless of the pref so unwanted sports content no longer appears on New Tab when the pref should prevent it.
Nimbus / Experiments
Password Manager
PDFs & Printing
Picture-in-Picture
Thanks to Lukáš Lipinský for adding live event caption support for ceskatelevize.cz!
Thanks to Simon Rosen for adding a new playback speed control to the PiP player. The feature can be enabled by flipping the pref media.videocontrols.picture-in-picture.playback-speed.enabled.
Thanks to Mike Conley for fixing play / pause issues with Udemy.
Performance
Performance Tools (aka Firefox Profiler)
Privacy & Security
Profile Management
Screenshots
Search and Urlbar
Nova: continued work on the Nova redesign, focusing on CSS fixes, tab group and container styling, and tab/address bar polish. Efforts are underway to ensure the UI integrates correctly with platform themes and high-contrast modes.
IPC Urlbar / Multi-Context Address Bar (MCAB) on New Tab: Significant progress has been made on the IPC Urlbar implementation. The CI variant is now live and upgraded to Tier 2, allowing for better bug detection. Currently focused on making content modules content-process-safe and preparing for new tab search bar integration. Here’s moz-urlbar rendering something on about:newtab for the first time:File:Pictures/100002010000073A0000040490E47D5468EDA837.png
Post-MVP work continues on refining the new search bar that can be added to the toolbar.
Google address bar messaging experiment relaunched.
Search & Suggest Telemetry: Development is ongoing for search term telemetry, specifically regarding fetching results from Merino for online suggestions. Also preparing to retire legacy telemetry for certain search service metrics.
Favicon & Places:
Smart Window
Storybook/Reusable Components/Acorn Design System
Tab Groups
Tests
Flakiness dashboard: https://tests.firefox.dev/flaky.html?kind=mochitest#date=21days&view=list
Started trying to cleanup mochitest flakiness across the entire tree:
Meta bug: Bug 2063593 - [meta Fix mochitest flakiness]
Started cleaning up one folder: Bug 2062142 - [meta Fix the flakiness in browser/components/extensions/test/browser]
And then removing the patterns seen more than once in that folder across the entire tree:
Data from tests.firefox.dev is available as a CLI for AI agents
[dao] Bug 2062448 - Give BrowserTestUtils.waitForMutationCondition a default timeout and message
UX Fundamentals
Settings Redesign
This week I learned
[Finn] It’s much easier / faster to run firefox with the prefs you want from the command line, rather than opening about:config each time. E.g.
mach run --temp-profile \
--setpref browser.startup.homepage=about:welcome \
--setpref "browser.aboutwelcome.screens=$(tr -d '\n' < basic-layout-screen.json)"
./mach run -P d -purgecaches
Same for mozregression: ./mach mozregression --pref browser.nova.enabled:true --good 2026-05-01 --arg="https://bug2060213.bmoattachments.org/attachment.cgi?id=9621198%22
regressionwindow-wanted keyword on bug to have QA run the mozregression