Getting Better Every Day - These Weeks in Firefox: Issue 192

19 views
Skip to first unread message

Mike Conley

unread,
Nov 24, 2025, 3:26:45 PMNov 24
to Firefox Dev
Hello firefox-dev,

A few weeks back, the Firefox Desktop engineering teams got together to share the latest happenings in the codebase. A few of us stuck around after the meeting to pool the notes that were taken, which we hope you'll find useful!

Special thanks to Jared Wein and Anna Kulyk who put these notes together with me!

Highlights

  • Collapsed tab group hover preview is going live in Firefox 145!

    • [Screenshot]

      • Caption: A collapsed Firefox tab group is hovered, showing a dropdown listing three tabs in a group labeled “Firefox stuff!” The results include “Download Firefox for Desktop — from Mozilla,” “Firefox browser features — Firefox” (currently open), and “Firefox - Wikipedia.”

  • Nicolas Chevobbe added a feature that collapses unreferenced CSS variables declarations in the Rules view (#1719461)

    • [Screenshot]

      • The Firefox Developer Tools Style Rules view showing a list of CSS rules applied from multiple stylesheets, including activity-stream.css, tokens-brand.css, and tokens-shared.css. Each rule is shown with its selector, and links to the line numbers in their respective stylesheets. Some rules include expandable boxes with messages similar to “Show 45 unused custom CSS properties,” indicating detection of unused variables or properties.

  • Alexandre Poirot [:ochameau] added a setting to enable automatic pretty printing in the Debugger (#1994128)

    • [Screenshot]

      • Caption: The Firefox Developer Tools Debugger settings menu is expanded. The settings gear icon is selected, displaying options such as “Disable JavaScript,” “Inline Variable Preview,” “Wrap Lines,” “Source Maps,” “Hide Ignored Sources,” “Ignore Known Third-party Scripts,” “Show paused overlay,” and “Automatic pretty printing,” with several options checked, and the last one hovered. A tooltip at the bottom says, “All sources in the debugger will be automatically pretty printed.”

  • Improved performance on pages making heavy usage of CSS variables

    • [Screenshot]

      • Caption: A table comparing performance improvements in selecting the body element across four websites. The table has three columns: “Before (ms),” “After (ms),” and “%.” For hh.ru, the time improved from 3000 ms to 400 ms (−86.67%). For pinterest, 640 ms to 140 ms (−78.13%). For bulma, 820 ms to 250 ms (−69.51%). For youtube, 250 ms to 100 ms (−60%). All percentage improvements are shown in bold. The header row is shaded blue, and the first column cells are shaded green.

  • Jared H added a "copy this profile" button to the app menu (bug 1992199)

    • [Screenshot]

      • Caption: The Firefox profile management menu with three options: “New profile” with a plus icon, “Copy this profile” with a duplicate icon (hovered), and “Manage profiles.”

Friends of the Firefox team

Resolved bugs (excluding employees)

Volunteers that fixed more than one bug

  • Khalid AlHaddad

  • Kyler Riggs [:kylr]

New contributors (🌟 = first patch)

  • Alex Stout

  • Khalid AlHaddad

  • Jim Gong

  • Mason Abbruzzese 

  • PhuongNam 

  • Thomas J Faughnan Jr 

  • Mingyuan Zhao [:MagentaManifold] 

Project Updates

Add-ons / Web Extensions

WebExtensions Framework
  • Fixed an issue that was preventing dynamic import from resolving moz-extensions ES modules when called from content scripts attached to sandboxed sub frames - Bug 1988419

    • Thanks to Yoshi Cheng-Hao Huang from the Spidermonkey Team for looking into and fixing this issue hitting dynamic imports usage from content scripts

Addon Manager & about:addons
  • As a followup to the work to improve the extensions button panel’s empty states, starting from Nightly 146 Firefox Desktop will be showing a message bar notice in both the extensions button panel and about:addons to highlight to the users when Firefox is running in Troubleshoot mode (also known as Safe mode) and all add-ons are expected to be disabled, along with a “Learn more link” pointing the user to the SUMO page describing Troubleshoot mode in more details - Bug 1992983 / Bug 1994074 / Bug 1727828

    • [Screenshot]

      • Caption: Firefox Extensions panel showing a message stating, “All extensions have been disabled by Troubleshoot Mode.” Below the message is an illustration of a fox peeking through a cityscape made of puzzle pieces. A message beneath the image says, “You have extensions installed, but not enabled. Select ‘Manage extensions’ to manage them in settings.” A “Manage extensions” link is displayed at the bottom.

DevTools

  • gopi made the Rule view format grid-template-areas even when the value is invalid (#1940198)

    • [Screenshot]

      • Caption: Side-by-side CSS code blocks showing a change in the grid-template-areas property for the body selector. The top block shows the "before" version with the grid-template-areas line struck through and a warning icon, indicating an issue. The "after" version below shows the same grid-template-areas split across multiple lines for improved readability and formatting, with the warning icon still present.

  • Emilio Cobos Álvarez fixed an issue where editing constructed Rule in the shadow DOM would make them disappear (#1986702)

  • Nicolas Chevobbe fixed a bug that would render erroneous data in the var() tooltip for variables defined in :host rule on shared stylesheet (#1995943)

  • Julian Descottes improved inspector reload time when shadow DOM element was selected (#1986704)

  • Hubert Boma Manilla fixed an issue where we could have duplicated inline preview when paused in the Debugger  (#1994114)

  • Nicolas Chevobbe [:nchevobbe] exposed devtools.inspector.showAllAnonymousContent in the settings panel (#1995333)

    • [Screenshot]

      • A section of Firefox Developer Tools settings under “Inspector.” Under “Inspector,” a new option “Show Browser Shadow DOM” is checked and highlighted, with a note saying “(reloads the page).”

WebDriver

Lint, Docs and Workflow

  • ESLint

    • We are working on rolling out automatically fixable JSDoc rules across the whole tree. The aim being to reduce the amount of disabled rules in roll-outs, and make it simpler for enabling JSDDoc rules on new areas.

      • jsdoc/no-bad-blocks has now been enabled.

        • jsdoc comments are required to have two stars at the start, this will raise an issue if it looks like it should be a jsdoc comment (e.g. has an @ symbol) but only one star.

      • jsdoc/multiline-blocks has also been enabled.

        • This is being used mainly for layout consistency of multi-line comments, so that the text of the comment does not start on the first line, nor ends on the last line. This also helps with automatically fixing other rules.

  • StyleLint

Migration Improvements

New Tab Page

Performance Tools (aka Firefox Profiler)

  • Marker tooltips now have a ‘filter’ button to quickly filter the marker chart to similar markers:

    • [Screenshot]

      • Caption: The Firefox Profiler marker chart showing a very dense cluster of test markers across many test files, mostly labeled in green. A tooltip is open for the marker test_nimbus_newtabTrainhopAddon.js, indicating that the test ran for 14.2 seconds with status: FAIL. The corresponding row is highlighted in orange, and a filter icon appears next to the tooltip with the option to "Only show test_nimbus_newtabTrainhopAddon.js markers.” The bottom timeline includes thread activity with diamond and block-shaped markers.

    • Link to the profile in the screenshot: https://share.firefox.dev/42kDTuf (and after filtering: https://share.firefox.dev/4gQHPsx)

    • This is a resource usage profile of an xpcshell test job. To see them, select a test job in treeherder and press ‘g’.

Profile Management

  • Profiles is rolling out to all non-win10 users in 144, looking healthy so far

  • Niklas refactored the BackupService to support using it to copy profiles (bug 1992203)

  • Jared H added per-profile desktop shortcuts on Windows (bug 1958955), available via a toggle on the about:editprofile page

  • Dave fixed an intermittent test crash in debug builds (bug 1994849) caused by a race between deleting a directory and attempting to open a lock file. nsProfileLock::LockWithFcntl now returns a warning instead of an error in this case.

Search and Navigation

Storybook/Reusable Components/Acorn Design System

  • <moz-message-bar> now supports arbitrary content with slot=”message” elements

    • Ideally this is still something short, like a message as opposed to inputs, etc

    • <moz-message-bar><span slot=”message” data-l10n-id=”my-message”><a data-l10n-name=”link”></a></span></moz-message-bar>

    • Note: if you’re using Lit, @click listeners etc set on Fluent elements (data-l10n-name) won’t work, you’ll need to attach it to the data-l10n-id element or another parent

Below the fold


This information, including all of the previous updates, are fully available in this doc: https://docs.google.com/a/mozilla.com/document/d/1u9YH3ULNRYg6G-fN-Udkvfkcvg0alJfzi_zIAfFNkL8/edit?usp=sharing


Also note that we’re really just synthesising and humanising the stuff that's on the Wiki, which is freely available from here: https://wiki.mozilla.org/Firefox/Meeting, so check that out if you want the source material. It'll also be posted (minus the Below the Fold stuff) to the Nightly blog.


Finally, if there's a Firefox-ish team that you feel isn't being represented here, please let them know about the above meeting so we can get their updates.


Keep on rockin' the free web,


-Mike


Reply all
Reply to author
Forward
0 new messages