Firefox/Meeting/20-Oct-2020
Today’s meeting leader is: mconley
Contents
- 1 General Topics / Roundtable
- 2 Friends of the Firefox team
- 3 Project Updates
- 3.1 Accessibility
- 3.2 Add-ons / Web Extensions
- 3.3 Applications
- 3.4 Bookmarks
- 3.5 Developer Tools
- 3.6 Fission
- 3.7 Form Autofill
- 3.8 Installer & Updater
- 3.9 Lint
- 3.10 Mobile
- 3.11 Pocket
- 3.12 New Tab Page
- 3.13 Nimbus
- 3.14 NodeJS
- 3.15 Password Manager
- 3.16 PDFs & Printing
- 3.17 Performance
- 3.18 Performance Tools
- 3.19 Picture-in-Picture
- 3.20 Privacy/Security
- 3.21 Remote Protocol (Chrome DevTools Protocol subset)
- 3.22 Search and Navigation
- 3.23 User Journey
- 3.24 WebRTC UI
- 3.25 This week I learned
General Topics / Roundtable
[mconley] I suggest we clean out a few sections that haven’t been populated in many meetings:
Accessibility, Applications, Remote Protocol
Friends of the Firefox team
Introductions/Shout-Outs
Resolved bugs (excluding employees)
Fixed more than one bug
- Ben D (:rockingskier)
- Hunter Jones
- Itiel
- Miguel Roncancio
New contributors (🌟 = first patch)
- Miguel Roncancio added support for filtering group messages in the console and closed groups on navigation.
- Tanner Drake fixed the context menu when right clicking the search bar.
- Reid Shinabarker fixed Picture-in-Picture on VideoTrack from Twilio.
- 🌟 Richa Sharma fixed the error message shown when the browser.tabs WebExtension API can’t access a tab.
- Hunter Jones created a separate actor for launching Picture-in-Picture windows and fixed the PiP context menu.
- Chris Jackson fixed a Picture-in-Picture test.
- 🌟 Jasleen Kaur fixed a typo in the DevTools docs.
Project Updates
Accessibility
Add-ons / Web Extensions
Addon Manager & about:addons
In Firefox 84, the add-ons optional permissions are listed in about:addons and the user can directly manage (grant or revoke) the optional permissions (until now only the extension could initiate the grant and revoke of the optional permissions) - Bug 1624513
Limitations: at the moment only the <all_urls> and “all urls”-like (e.g. https://*/*) host optional permissions are being listed and can be managed about:addons, Bug 1497075 is the follow up that is tracking further improvement in this area (“giving the user more control on the host permissions”)
564x262px |
Optional Permissions in about:addons on Firefox 84 (Bug 1624513) - Link to image |
WebExtension APIs
- Richa Sharma contributed a fix that makes sure that when browser.tabs.sendMessage is called on an invalid tab id (e.g. related to a non existing or a pending tab) the API call rejects with a more clear "Could not establish connection. Receiving end does not exist" error (instead of the generic "An unexpected error occurred") - Bug 1665568 (previously regressed in Firefox 79 by Bug 1583484)
Applications
Firefox Accounts
Sync and Storage
Push
Bookmarks
- Jared fixed an issue where favicons in the bookmarks toolbar flicker when starting Firefox or opening a new window (see 1597084)
Developer Tools
- Continue making DevTools Fission compatible (wiki with known issues)
Overflow debugging enabled in Nightly (call for feedback and comments, reach out on Element #devtools-inspector:mozilla.org, or file a bug)
Done as part of GSoC and a larger team collaboration between DevTools and Platform. Thank you to everyone who has been part of the meta.
New Scroll badge next to elements that do have a scrollable overflow area.
- You can also click on the "scroll" badge for scrollable elements to toggle highlighting of the overflow causing elements, which also have a new "overflow" badge next to them.
Fission
- Nightly experiment is underway! Users can also opt-in to Fission on Nightly in about:preferences#experimental.
Form Autofill
Installer & Updater
- nalexander landed working macOS attribution!
- bytesized landed tracking progress for multiple updates, laying the groundwork for downloading a new update while one is already staged (in progress)
- mhowell is wrapping up work on the semaphore, to prevent multiple instances from updating each other, and to let the user know when Firefox can't update as a result
- nalexander continues work on the framework for the Background Update Agent (WIP for experimentation)
- agashlin is finishing up testing of an uninstall ping
Lint
Mobile
We shipped v29 of Firefox for iOS!
It’s the first version built on iOS 14
It comes with Widgets that allow you to bring your favourite sites and open tabs directly to your homescreen
- On save recs just went to release.
New Tab Page
Nimbus
[k8]
- Engineering homepage for Nimbus on Mana is here https://mana.mozilla.org/wiki/display/FJT/Nimbus+Engineering
- Console: Great progress on visualizations for automated analysis
- Rust SDK: Focusing on integrating the SDK into fenix, WIP desktop integration patch
NodeJS
Password Manager
PDFs & Printing
- Emilio added support for “Print Selection Only” from the context menu when you have text selected Bug 140718 (19 year old bug!)
- Emma fixed a bug where printing immediately after changing some settings could lose your change Bug 1668476
- Sam has a patch (pending test failures) to handle more cases where users might have invalid paper size prefs saved Bug 1666523
- Emma added some more telemetry to record any unexpected errors Bug 1668242
- Neil has a patch in review to move PrintingChild to a JSWindowActor (it’s the last legacy actor :o) Bug 1669369
Performance
- Doug has been working on the new skeleton UI and adding support for maximized windows to it
- Doug is also advancing late write checks (which allow for very very fast shutdown/restart) on beta now
- Bernard’s patch to use JSWindowActor for about:newtab internals is almost ready
- Emma is mentoring and preparing the ground to move consumers from OS.File to IOUtils to improve startup times
- Emma is also fixing the URL bar dimensions in the skeleton UI
- Emma landed lazification of the page action menu!
- Florian has added markers for thread creation
- Gijs diagnosed an issue with our threadpool implementation based on the information from these markers.
- Gijs also landed some telemetry for hangs in the parent process (where we would previously have shown the modal dialog which is now disabled everywhere)
- Mike will soon be landing UserInteraction markers for BHR - this will help with diagnosing what causes (or at least is correlated with) hangs that affect users.
Performance Tools
- Lots of improvements, bug fixes and code maintenance during the Outreachy contribution period! Complete list can be found here. Thank you all!
- Flame graph tooltips now show the add-on name as resource (NisaSource).
- If a marker has stack information, tooltip also shows when that stack information is captured (km-js).
- Better timestamps for the Styles and Reflow markers. It was always showing the invalidation time as milliseconds, now it finds the most suitable unit (Cheederah).
- Made the text of stack information more accessible by selecting a color with better contrast ratio (hetpatel33).
- Made the origin texts of markers more accessible by selecting a color with better contrast ratio (hetpatel33).
- Add-on icons now contain add-on names as alternative texts in the call-tree (Cheederah).
- Made the screenshots bigger in the timeline (CipherGirl).369x243px
Picture-in-Picture
Fixed
In Review
In Progress
Bug 1666637 - [RTL The new PIP toggle points in the wrong direction, even for RTL documents]
Bug 1667840 - Refactor PictureInPictureChild actor to not use global state
Bug 1578985 - Picture-in-Picture does not remember location and size of the popout windows
- Just dealing with Linux test failures now
Bug 1604247 - Provide an easy way to snap a PiP window back to a corner after moving it elsewhere
- This works on macOS, but we’re running into issues on Windows and Linux. We’ve opened this bug to deal with the Windows issue.
Privacy/Security
Remote Protocol (Chrome DevTools Protocol subset)
- Fixed a bug where the urlbar couldn’t search for single words with a default POST search engine - Bug 1667931
Urlbar Update 2
Enabled for Beta, decision for Release to follow.
Various polish fixes for both tab to search and search shortcuts
Search mode is now supported by Session Restore - Bug 1655486
Introduced an onboarding tab-to-search result that is more visible for the first few sessions (or until used) - Bug 1665934
User Journey
- Restored Return to AMO functionality on about:welcome based on installer attribution
Launching a few experiments in 82 release:
Wizard-less password import to skip full import flow in certain cases
Zero-stage welcome to study minimal onboarding experience
Home page remediation to offer resetting homepage to Firefox Home
WebRTC UI
Fixed:
- QA is testing the implementation on Beta now.
- Reminder: In about:preferences#experimental on Nightly (and soon in Beta for Windows and macOS), you can opt-in to enabling the global microphone and camera mute toggles.
This week I learned
[mconley] It’s best to include `ac_add_options --enable-clang-plugin` in your mozconfig if you can. This will catch native code problems that might get you backed out of autoland.
Reminder that mozconfigwrapper is a handy tool for managing multiple mozconfig files!
also helpful: hg share
[mconley] float prefs are saved as strings?!
[k8] Related remote settings issue re: floats