Highlights
- Sam is currently working to enabling the new Screenshots component on Nightly
- This is a replacement for the extension implementation. The component should have full feature parity, and have improved performance and accessibility.
- New keyboard accessibility has been added to the screenshots component. The selected region can now be moved/adjusted with the keyboard.
- Until this is on by default, you can enable it manually by setting screenshots.browser.component.enabled to true in about:config.
- Please file any bugs here
- Lee Salzman (:lsalzman) landed off-main-thread canvas for macOS, Linux and Android back in December for Firefox 123 – and that’s given us a 4-7% boost on Speedometer3! More details here.
- Telemetry informs us that the Ubuntu Snap import wizard improvements we landed late last year have more than doubled the number of users that have successfully imported from another browser when Firefox is installed as a Snap package!
- In the Network Monitor with Firefox DevTools, Hubert has made it so that right-clicking a network request allows you to “Save Response As” for any request, instead of just images
Friends of the Firefox team
Introductions/Shout-Outs
- [jepstein] Irene Ni joins the Front-end team through April. Welcome! She is starting on the Reader View work with Cieara, Sam, and Fred.
Resolved bugs (excluding employees)
Volunteers that fixed more than one bug
- Gregory Pappas [:gregp]
- Javi Rueda :javirid
New contributors (🌟 = first patch)
- 🌟 Aaron replaced netmonitor ‘Save Image As’ with ‘Save Response As’ in context menu
- Eliot Jacobs fixed typo in comment: extension.webextensions.remote to extensions.webextensions.remote in RemoteWorkerManager.cpp
- 🌟 Kate Galich updated browser/themes/shared/autocomplete.css to use CSS nesting
Project Updates
Add-ons / Web Extensions
Addon Manager & about:addons
- Landed a fix to prevent AddonRepository.sys.mjs from mistakenly clearing add-ons metadata (stored in ProfD/addons.json) when an addon metadata refresh request is triggered while Gecko is disconnected from the network – Bug 1870905
- Thanks to Hartmut Welpmann for fixing addon updates error handling of empty results and improving logging – Bug 1861372
WebExtensions Framework
- Thanks to Gregory Pappas for contributing a fix to Bug 1870498 and fix a regression that was preventing extensions content scripts from accessing getCoalescedEvents() after it has been marked as only available to Secure Contexts
WebExtension APIs
- Thanks to Cimbali for contributing changes to ContextualIdentityService.sys.mjs internals and the WebExtensions contextualIdentities API to introduce a new method that allows extensions to reorder the defined containers – Bug 1333395
Developer Tools
- Aaron expanded the “Save as File” context menu to all types of Network responses in Netmonitor (bug). It was only enabled for images before.
- Emilio fixed a styling issues on tooltips (bug)
- Alex added the ability to show a link to the original source when selecting a location in a bundle in the Debugger(bug)
- Nicolas fixed a few issues on the Preview popup in the Debugger (bug, bug)
Fluent
- Almost 66% of all strings in Firefox are now using Fluent! .properties usage is seeing a slow, steady decline.
ESMification status
- ESMified status:
- browser: 89%
- toolkit: 99%
- Total: 96.48% (no change)
- #esmification on Matrix
Lint, Docs and Workflow
- The whitespace and file permission linters now run on json files.
- We have updated various ESLint plugins (node modules) to their latest versions as part of working towards upgrading ESLint to v9.
- v9 is changing to the new “flat” configuration. This changes the formats of plugins as well as the main configuration, which will help to fix some long standing issues.
- Due to this change, we will be making some significant changes to how ESLint is configured across the tree over the coming months.
Migration Improvements
- Device migration
- We sent out a spotlight message a few weeks ago encouraging users without a Mozilla account and lots of local data (like bookmarks, history, passwords, etc) that they can use a Mozilla account to have an end-to-end encrypted copy of that data in the cloud. This targeted clients in the English, Italian, French and German locales. We’re going to be doing the rest of the locales later this month, and include folks on the 115 ESR branch as well.
- mconley has a prototype component that can create periodic snapshots of SQLite databases, which could end up being the basis of a local profile backup at runtime system.
New Tab Page
- The ASRouterAdmin code has been moved out from about:newtab. It now lives at about:asrouter. The DiscoveryStream tools still remain in about:newtab.
- Patches are up to convert TelemetryFeed.jsm to an ESM (which involved rewriting TelemetryFeed.test.js as an xpcshell test)
Performance
- The off-main-thread Windows Jump List backend is currently enabled by default on Nightly, and the code to support it has ridden the trains to Beta 122. When that code reaches the Release channel after January 23rd, we plan to run an experiment to see if there’s a measurable improvement to input event response time with it enabled.
Screenshots
- Niklas made the following fixes/enhancements
- improved performance when taking large screenshots
- We now take multiple smaller screenshots instead of one giant screenshot which was causing the browser to hang
- selected region now shows size on screenshots overlay
- Can now see the size of the selected region
- Can now see the size of the selected region
- improved performance when taking large screenshots
Search and Navigation
- Mike Kaply added support for overriding search engine URLs from remote settings
- Search engine result page telemetry
- Lots of test fixes, see the full bug list if you’re curious
Below the fold
- [standard8] PromiseUtils.defer() has been replaced by Promise.withResolvers()
- General triage
- This month’s Firefox / Toolkit :: General triagers are:
- Gijs, Dão, Niklas, Kelly
- This month’s Firefox / Toolkit :: General triagers are:
toe_head2001 wrote on
Nicolas Chevobbe wrote on