Highlights
- Pour one out because irc.mozilla.org is no more! Now raise a cup, because we’re all chatting on Matrix now, come join us!
- The Network Monitor now shows links to the place where the request was initiated. Clicking on the links navigates the user to the Stack Trace side panel, with the entire stack trace showing.
- The password doorhanger icon now appears (by default) as soon as a password field is edited on a webpage. This allows the password to be saved to Firefox on any site where the user hasn’t chosen to never save! Please file bugs on this new feature.
- Today’s Firefox 74 release includes Picture-in-Picture toggle adjustments for Instagram, Udemy and Twitch
- The new search configuration format has now been turned on for Nightly builds. If you see anything unexpected with your default (Firefox-provided) search engines, please let us know by filing a bug.
- Both Pocket Collections and Pocket stories in en-GB are in beta, and moving along to release now. We have a smoke test experiment going out in beta.
Friends of the Firefox team
Resolved bugs (excluding employees)
Fixed more than one bug
- aarushivij
- dw-dev
- Florens Verschelde :fvsch
- Itiel
- KC
- Kriti Singh
- Outvi V
- Sebastian Zartner [:sebo]
- Thal Marcelin
- Tim Nguyen :ntim
- Uday Mewada
New contributors (🌟 = first patch)
- Aggelos Gamvrinos [:agam] simplified some of our DevTools web console tests by adding a common helper function
- 🌟 jcadler
- Got rid of an obsolete function on the richlistbox custom element
- Converted about:about from an XHTML page to an HTML page
- 🌟 jacquelinechan2 converted about:privatebrowsing from an XHTML page to an HTML page
- 🌟 Jonathan Michalon fixed a bug where we weren’t properly showing focus rings for some of our tree UI
- 🌟 KC
- Fixed a glitch where the icon in the selected tab of the DevTools debugger would not switch to the active colour
- Cleaned up some old debugger code that we don’t need anymore
- manas cleaned up one of our DevTools Console test helpers
- 🌟 Manish Sahani cleaned up some code that was causing a React warning in the about:debugging code
- 🌟 Sergio Schvezov improved Firefox’s integration with the SNAP package management system
- 🌟 Simon Van Accoleyen deCOMtaminated some accesses to the FocusManager!
- 🌟 Sourab replaced a usage of BrowserTestUtils.waitForCondition with TestUtils.waitForCondition
- Stepan Stava [:stepan] made it more obvious that you can jump to lines in the DevTools Debugger from function references in tooltips
- 🌟 Lupita Arroyo replaced a usage of BrowserTestUtils.waitForCondition with TestUtils.waitForCondition
- 🌟 Tanmaya [:Tanny_m] made some of our DevTools Inspector code more consistent with pre-existing DOM APIs
- 🌟 Theo Ottah increased the size of the tooltip’d region for the Site Protection icon
- Thal Marcelin made it clearer that the “Why?” region in the Site Protections panel is not a link
- 🌟 Thal Marcelin replaced a usage of BrowserTestUtils.waitForCondition with TestUtils.waitForCondition
- 🌟 tusharxdev renamed one of the DevTools React components to make its responsibilities clearer
- 🌟 :ingrid replaced a usage of BrowserTestUtils.waitForCondition with TestUtils.waitForCondition
- 🌟 Uday Mewada
- 🌟 Vuong Hoang enabled “long mode” JSON preview in the DevTools Network Monitor by default
Project Updates
Add-ons / Web Extensions
WebExtensions Framework
- Fixes related to geolocation and browserSettings optional permissions (Bug 1618398, Bug 1618500).
- privacy is now supported as an optional permission (Bug 1618399).
- Starting from Firefox 74, the dns permission doesn’t trigger a permission prompt anymore (Bug 1617861). uBlock has recently started to use this API to block trackers that disguise themselves as first party, but the wording for the DNS permission in the prompt was confusing (e.g. See Bug 1617873).
WebExtension APIs
- Starting from Firefox 75, tabs.saveAsPDF supports two new optional properties: fileName and pageSettings (Bug 1483590). Thanks to dw-dev for contributing this!
- The browserSettings API now supports the new zoomSiteSpecific and zoomFullPage settings (Bug 1286953), thanks also to dw-dev.
- Tom Schuster fixed an issue triggered by calling browser.find.highlightResults with result objects that are missing the option rangeIndex parameter (Bug 1615761).
Addon Manager & about:addons
- about:addons ot a small fix to make sure that the options menu doesn’t reopen when the user clicks on it again while it’s already opened (Bug 1603352)
Applications
Sync and Storage
- Durable Sync, a project to port the Sync storage backend to Rust, is rolling out to more users! We’re going from 50% of new Sync users to 75% on March 11th.
Developer Tools
Console
- In the Browser Toolbox, you can now select the context in which you want to evaluate a given expression (Bug 1605329)
Network Monitor
- It’s possible to use wildcards to block requests. See async-*.js example of the following screenshot.
- It’s possible to filter WebSockets messages with regular expressions (bug)
Fission
- Bernard finished his first fix, to get the unselected tab hover ported to Fission. This allows video decoding to start when hovering over a tab one might switch to.
- Porting front end actors/components to JSWindowActors is now ⅔ complete.
Installer
- Started work to move the installer UI out of NSIS and into a web based framework so that developers can make UI changes using plain ol’ (literally, it has to run in the old Internet Explorer rendering engine! 🗿) HTML and CSS.
Lint
- Running ./mach eslint (or ./mach lint -l eslint) will now run multiple processes by default (depending on cores), speeding up the normal run time.
- We now lint .eslintrc.js files.
- Prettier has been upgraded to 1.18.2, along with some of our other plugins.
- Main difference is in a slightly different treatment of template strings (which now don’t get broken across multiple lines).
- Adding ESLint support for recent javascript additions (globalThis, nullish coalesce operator and conditional chaining operator) is being discussed in this meta bug.
- Prettier will need an update to 1.19.x to support
- Still waiting for ESLint to pick up support – likely to be in 7.x, but we might swap to the Babel parser in the meantime.
Mobile
- Fenix has support for WebPush! 🌐🖐 You can now get push notifications from sites that support it (e.g. Instagram, Twitter). Please file bugs for sites that don’t work.
New Tab Page
- Starting to work on moving v2 recommendation code into a web worker.
- We’ll also be exploring some new New Tab layouts designed for higher engagement, and exploring story density configuration. This gives the user back the ability to configure how much Pocket they see.
- Both these ideas are in early design and likely see dev work in 77.
- All development is now happening in mozilla-central (GitHub repo is frozen), and docs are updated. See this mailing list thread.
NodeJS
- `mach vendor node` and other automation work is being scoped out. Anyone potentially interested in helping out with implementation is highly encouraged to ask @dmosedale or in the #fx-desktop-dev room on Matrix!
Password Manager
- Login import from Chrome/Edge 80+ on Windows was implemented by Mardak!
- Added a new watershed for Firefox 72.0.2 to avoid password data loss when updating to 73+ from really old versions
- The context menu on the website address for a saved login in about:logins now supports all the usual link context menu features.
- about:logins has a spiffy new import icon and text
- Two fixes to the Create New Login button in about:logins…
- …And two fixes to the login sort dropdown.
Performance
- mconley has (re-)enabled the privileged about content process in Nightly, and has a WIP patch up that lets that process access a cached document from the HTTP cache on startup. The eventual goal is to cache about:home periodically.
- Gijs created builds with an artificially inflated libxul so that we could test how much libxul size impacts startup. An extra 100MB of libxul binary size slows down startup by about 3s on the 2018 reference laptop!
- Gijs is working on removing the old XML blocklist implementation.
- emalysz fixed an issue with how we gather OS information off of the main thread
- mconley landed patches to gather Telemetry on whether or not Superfetch / Prefetch are enabled, and how often users see the slow startup notification bar
- mconley landed a patch to avoid some main-thread IO during start-up by deferring permission expiry to idle-daily, off-main-thread
- dthayer will be bumping the toolkit.shutdown.fastShutdownStage preference to stage 2 on Nightly soon, which tests a faster shutdown path.
- zbraniecki is moving Fluent from a JSM to Rust.
Performance Tools
- The brand new capturing workflow has landed and you can use it on Firefox Nightly! You can enable it on profiler.firefox.com if you haven’t already.
- There is a context menu for the timeline markers now.
- Now you can drag and drop the profiles into profiler.firefox.com even though there is an opened profile already.
Picture-in-Picture
- A patch to make it possible to fullscreen the player window by double-clicking it is up for review
- Team is working with UX to figure out how we can have users express a preference for the default toggle position in about:preferences
- Toggle now appears on YouTube videos at 144p resolution
- Pleasantly surprised to hear that screenreader users find the Picture-in-Picture feature useful as well, to more easily control videos on sites that aren’t as keyboard accessible as they should be
Search and Navigation
Search
- Dale has fixed an issue with right-clicking and selecting search when using DuckDuckGo Lite.
- Mark fixed an issue where shutting down in the middle of search engine startup could write an incomplete cache.
Address Bar
- Notable changes:
- Unified address bar and search bar clickSelectsAll behavior across all the platforms (prefs have been removed) – Bug 333714
- Visual redesign (update 1)
- Release scheduled for Firefox 75
- Will run a pref-flip study in 74
- Various minor fixes around design polish, telemetry and code cleanups
- When Top Sites are disabled in the new tab page, the address bar fallbacks to the old list – Bug 1617345
- Top sites are shown when the address bar input is cleared – Bug 1617408
- Make Address Bar modules more easily reusable by other projects
- Making the code more self-contained and less depending on the browser code layout
- Address Bar results composition improvements
- Aimed at improving results composition by fixing papercuts and improving frecency
- Don’t suggest switching to the current tab – Bug 555694
Updater
- Beginning stages of a background update agent (for Windows 10 to start), starting with a scheduled task that calls a binary, and then moving onto incorporating Rust based logic to check for updates. mhowell leading the efforts here.
User Journey
- New simplified about:welcome landed behind a pref (browser.aboutwelcome.enabled) implemented using JSWindowActors and decoupled from about:newtab/DiscoveryStream
- Working on integrating normandy/remote experimentation in 76
- Working on experiment to use CFR UI for heartbeat surveys to inform future work
- Slightly delayed import password CFR experiment now targeting 74 which includes the fix for password migration from Windows Chrome
- Ran into unexpectedly low enrollments for experiments targeting Chrome Attribution, debugging / investigating why this is the case
klop*cz wrote on