Today’s meeting leader is: MattN
General Topics / Roundtable
- We’re in a soft code freeze until after the version bump to 64 on September 4th.
- [bgrins] can you point me to any examples of xul flexbox and css flexbox interacting badly together? I have a couple of examples but I know I’ve ran into this type of issue more often than that and am having trouble finding references.
- nsISimpleEnumerator now works as a JS iterator!
- Run `mach vcs-setup --update-only` regularly. Now with Git support!
Friends of the Firefox team
- Welcome DevTools to this meeting! DevTools contributors are now included in the lists below 🎉
Fixed more than one bug
New contributors (🌟 = first patch)
🌟 Diego Pino got rid of an unneeded utility function in our search code, and also made sure that the search service properly iterates elements in searchplugin XML!
🌟 Guangyu Song made the sidebar header text look much better on macOS!
🌟 Jennifer Wilde converted some of our DevTools code to use modern Promise semantics, rather than the “defer” model!
🌟 Sriharsha also got rid of some unnecessary CSS rules!
Add-ons / Web Extensions
- New (mozilla-only) WebExtension API for Telemetry
- Sidebars can now be themed
Team has a work week for getting CFR feature ready. This will not be the final design, this is just what currently landed in m-c
For the first iteration we will recommend addons https://docs.google.com/spreadsheets/d/132NbUoIFfga9N_LCHrPl1ENLWMHDaBWZxEurh3yiLp4/edit#gid=810854690
We added support for Remote Settings in Activity Stream Router bug 1484049
This offers us the possibility of pushing messages out of band to users (similar to snippets)
- Published the 7th XUL/XBL Replacement Newsletter.
Thank you Florens Verschelde for making icons & alignment consistently styled in Console
- :honza landed support in Network panel for marking resources that will be affected by content blocking.
- Thanks to nchevobbe and bgrins, we now have syntax highlighting in the Console for input and logged statements!
- :victoria called for UX contributors, and they came to contribute designs!
- First prefers-reduced-motion use to disable animation in devtools toolbox tabs by :hiro & :mantaroh. Also used in Shadow DOM slot animation by :ladybenko.
- :yulia wrote about about the new :screenshot command for console (Bonus: Eric Meyers did too!)
New left-aligned viewport mode
Next: Updating device list & new manager interface
- :jlast massively improved performance for opening the debugger, and cutting out main thread impact when keeping it open in the background
- :jimb fixed Open in Debugger link for Firefox frontend Custom Elements
- Work is continuing to implement document.l10n through webidl for UI pages. Patch is basically r+ but needs some changes to fix a performance regression before it can land.
- Student project will be starting this week to migrate strings from dtd/properties to Fluent
- As discussed on firefox-dev, ESLint rule comma-dangle will be enabled on Friday (31st Aug) for browser/ services/ taskcluster/ toolkit/, with commas being inserted where necessary (~1576 files). The rest will be enabled ahead of the 64 merges.
Is making it so that the initial browser is inserted dynamically, which takes us a good chunk of the way towards avoiding the initial about:blank load when creating new windows
Browser adjustment research continues apace - a metabug has been filed.
Is fiddling with re-organizing browser.xul so that the tabs and menu toolbars are inside the titlebar, in order to move as much of the layout work for tabs in titlebar into our layout engine (and out of browser-tabsintitlebar.js where we’re flushing a bunch!)
- Nothing major.
- Will soon be prioritizing new policies.
- Autoconfig Sandbox moved behind pref for 63, no timeline for removal (Talos dependencies)
Ehsan and Tanvi have been working on a new Content Blocking category that gives you more options for blocking third party cookies (such as only third party cookies from trackers).
jkt has been digging deep into how we pass triggeringPrincipals (principals that are used to open websites) in the last months. The end goal is to avoid any implicitness in what principals we use and never fall back to system principal as default.
This means that you’ll see (and probably have already seen) a lot more “triggeringPrincipals” being required in your function calls.
A recent example: Bug 1362034 - Have addTab() provide the correct triggeringPrincipal
This bug is the final boss: Bug 1333030 - [meta Assert nsDocShell::loadURIWithOptions receives a non null triggeringPrincipal]
Address Bar & Search
Top Search feature from the New Tab Page:
- The follow-on system add-on has been removed (now part of the core code)
- The Search from Address Bar Onboarding Study has been deployed to english locales (for now)
- Page annotations are now asynchronous and managed through the History API
- Fixed a regression where the native menu bar bookmarks menu is not shown if there’s no browser window
Application Services (Sync / Firefox Accounts / Push)
- No updates this week.
Discovered that non-deterministic dependency resolution can be mitigated by only using exact dependency definitions in package.json (no carats), in addition to checking in our package-lock.json
Depcheck was a useful tool for discovering unused and missing packages
Webpack 4 had many breaking changes for us, Les Orchard powered through those changes.
Flowtype updates forced us to fix a lot of our type definitions which exposed some bugs which were fixed in the process !!
Bootstrap removal continues; see metabug on github (BMO bug is slightly out of date).
Moved Page Action from Photon to WebExtension and back until 63 branches, we discovered a few UI bugs late in the cycle (see blockers of 1466575)
UI redesign + FxA work continues on the server (see FxA bugs on github)
- Thanks to Prathiksha for finishing bug 1475760 after her internship ended!
This week I learned
- [MattN] page-break-after/page-break-before have new meaning in flexbox
- [MattN] @media (prefers-reduced-motion) (https://css-tricks.com/introduction-reduced-motion-media-query/)
[johannh] Careful when using /g flags in regex https://stackoverflow.com/questions/1520800/why-does-a-regexp-with-global-flag-give-wrong-results
The RegExp object keeps track of the lastIndex where a match occurred, so on subsequent matches it will start from the last used index, instead of 0.
If you don't want to manually reset lastIndex to 0 after every test, just remove the g flag.
- [johannh] We have an amazing tool for viewing translations https://transvision.mozfr.org/
Meeting Leader Rotation
Add your name below if you want to be in the rotation of leaders: