Firefox/Meeting/17-Nov-2020

From MozillaWiki
Jump to: navigation, search

Today’s meeting leader is: emalysz

General Topics / Roundtable

Friends of the Firefox team

Introductions/Shout-Outs

Resolved bugs (excluding employees)

Fixed more than one bug

  • Andrey Bienkowski
  • Ben D (:rockingskier)
  • Chris Jackson
  • Cody Welsh
  • Fabien Casters [:vaga]
  • Hunter Jones
  • Itiel
  • Martin Stránský [:stransky]
  • Michael Goossens
  • Niklas Baumgardner
  • Tim Nguyen :ntim
  • Tom Schuster [:evilpie]

New contributors (🌟 = first patch)

Project Updates

Add-ons / Web Extensions

Addon Manager & about:addons

  • Fixed an issue with built themes disappearing for one sessions after upgrading to Firefox 82 (fixed by Bug 1672314, caught due to the recent changes to the theme resource urls introduced in Bug 1660557)
  • Some minor follow ups related to the the new verified and mozilla badges in the about:addons extensions list (Bug 1666042, Bug 1666503)
  • Itiel contributed an RTL-related followup fix for the optional permissions list part of the about:addons detail view (Bug 1672502, follow up for Bug 1624513)
  • ntim contributed some small refactoring for about:addons (Bug 1676292, Bug 1677530), in preparation for completely removing the remaining bits of the legacy XUL-based about:addons page

WebExtensions Framework

  • Landed a fix to make sure that the extension messaging Ports are garbage collected when the related extension content is destroyed (Bug 1652925)
  • Brad Werth made sure that the extension popups and sidebar panels can be zoomed using the Ctrl-scroll wheel as in the browser tabs (Bug 1634556)
  • Mark Banner did make sure we reset/restore the default search engine when an addon did override it and then was uninstalled at early startup (Bug 1643858)

WebExtension APIs

  • Tom Schuster extended the browsingData API to support clearing the browsing data for a specific contained tab using a new optional cookieStoreId parameter (Bug 1670811, + follow up fix from Bug 1675643)

Bookmarks

  • “Other Bookmarks” Folder in Bookmarks Toolbar - If users have bookmarks stored in Other Bookmarks, a button for it will appear in the bookmarks toolbar (bug). An option to hide this folder from the toolbar is currently in progress (bug).

  • Bookmarks are stored in the Bookmarks Toolbar by default - For new users, the default location for storing bookmarks is now in the bookmarks toolbar (bug).
  • “Import Bookmarks” Button - New profiles will display an “import” button on the bookmarks toolbar (bug).

  • Showing the Bookmarks Toolbar on the New Tab page by default and replacing the Bookmarks Toolbar hide/show toggle - New options for showing the bookmarks toolbar: “Always”, “Never”, and “Only on New Tab” (bug).

  • A message describing the Bookmarks Toolbar and linking to the library is shown on the toolbar when it is blank - If there are any bookmarks in the “Bookmarks Toolbar” folder or any other widgets on the toolbar this message will not be shown (the “Other Bookmarks” symlink folder does not count)

Developer Tools

  • Network Panel - Introducing top level error component responsible for catching exceptions and rendering details, stack trace + link for filing bugzilla report (bug)

Screenshot online

  • Performance panel - Building simple on-boarding UI for new performance panel (bug) The new profiler panel is based on Firefox profiler: profiler.firefox.com

Screenshot online

  • Accessibility Panel - showing tab order on the current page, done by Yura Zenevich (bug), shipped in Firefox 84

Screenshot online

  • DevTools Fission - Making DevTools Fission compatible
  • Fission tests are now enabled on tier 1 (bug)

  • Continue making DevTools Fission compatible (wiki with known issues)

  • The project has 6 MVP remaining to be completed at Dec 14 - Dec 20

  • Marionette Fission - Making Marionette (the automation driver for Firefox) Fission compatible
  • The project has 13 MVP remaining to be completed at Nov 09 - Nov 22

  • Enabling Marionette new Fission compatible implementation (based on JSWindowActors) fixed an a memory leak and improved performance 15-20% across all platforms (bug).

Fission

Form Autofill

Installer & Updater

  • bytesized is working downloading a new update while one is already staged, which should address a pain point going back more than a decade.
  • mhowell is wrapping up work on the[1]semaphore, to prevent multiple instances from updating each other, and to let the user know when Firefox can't update as a result
  • agashlin landed a new uninstall ping, so we should get more information about users explicitly leaving Firefox (as opposed to silently ceasing to use Firefox)

Lint

  • Sonia enabled all ESLint rules for widget/tests/*.xhtml - these were files where we had postponed fixing all the eslint issues when moving from xul to xhtml.
  • Kris made it so that the ESLint list of services that are accessible via Services.* is now semi-automatically generated.

Mobile

New Tab Page

Nimbus

NodeJS

New Tab Page

Password Manager

  • Tgiles landed Bug 1613620 - allow to remove/delete all stored logins/passwords

PDFs & Printing

  • emalysz updated the print dialog so it stays open if the user cancels choosing a filename for print-to-PDF
  • emalysz updated the error handling so it allows changing the destination and cancelling the print if a setting is invalid
  • emalysz updated the custom margin settings to account for the printed page orientation
  • nordzilla added support for duplex printing (print on both sides)
  • emilio fixed a bug where printing using the system dialog failed for about: pages
  • emalysz fixed a bug where changing the paper size with custom margins set could result in an error without it being displayed to the user

Performance

Performance Tools

  • Added shortcuts for call tree transforms.

(The context menu when you right click on any frame)

  • Added a keyboard shortcut panel that is revealed by the shortcut “?”.

(Keyboard shortcuts panel)

  • “Profile Info” panel now includes how many physical and logical CPU cores there are on the profiled machine.

(Platform section of the metadata panel)

Picture-in-Picture

Pocket

Privacy/Security

Push

Search and Navigation

  • 🎊Search Mode and Tab-to-search were just released in Firefox 83! 🎉
  • We’re running an holdback experiment to measure the impact of these features on Release
  • We’re also working on various experiments related to vertical search in the Address Bar, both with partners, and with cool utils (weather, calculator, unit conversions)
  • Tweaked the tab-to-search onboarding result to not be dismissed too easily; now it requires 3 interactions (simply selecting the result counts as one) - Bug 1675611
  • Based on user-testing feedback, mostly to reduce the surprise impact, empty strings in search mode don’t show anymore the last executed searches - Bug 1675537
  • Search mode colors are now inverted on the Dark theme - Bug 1671668
  • Allow to complete @keywords with the Tab key - Bug 1669526
  • Url canonization (CTRL+Enter) does not happen anymore if a CTRL+V just happened and CTRL was not released before pressing Enter - Bug 1661000
  • Fixed an issue in both the search bar and the address bar causing the last keyup event to reach content - Bug 1641287, Bug 1673299
  • Fixed a regression where single words (like “space”) in search mode could open the “Did you mean to go to space” notification bar in case of a wildcard DNS. - Bug 1672509

Sync

  • The tokenserver (which runs python 2.7 and supports Firefox Sync) is being ported to Rust in Q4. You can follow along with progress here.
  • A minor change to better work with Spanner was made to our batch commit limit. See the Spanner docs for more details on mutation limits.

User Journey

  • Started investigation into making BrowserNotification look more part of chrome to eventually use as a UI for remote messages (in addition to CFR and what’s new, etc)

    Web RTC UI

    • The new WebRTC global indicator goes out for macOS and Windows today! \o/

      • This means system tray indicator icons for Windows, as well as an always-on-top indicator when sharing a display.

      • There are also global mutes for the microphone and camera, but these are off by default.


    This week I learned

    • [mak] Promises created in windows may never be resolved if the window is destroyed. Or more generally Promises are not resolved/rejected if their global is destroyed. Pay particular attention when collecting promises from a window into a jsm module that has a longer life, common examples are Sqlite.jsm and AsyncShutdown.jsm. If the module awaits one of these promises, it will be stuck and eventually crash on async shutdown.

    Bug 1674505 - async functions from DOM window contexts using `await` stall forever after the window is closed

    • [mconley] This was probably already considered, but should the Promise reject if the global goes away?