Today’s meeting leader is: RyanVM
- 1 General Topics / Roundtable
- 2 Friends of the Firefox team
- 3 Project Updates
- 3.1 Activity Stream
- 3.2 Add-ons / Web Extensions
- 3.3 Applications
- 3.4 Browser Architecture
- 3.5 Developer Tools
- 3.6 Fission
- 3.7 Fluent
- 3.8 Lint
- 3.9 NodeJS
- 3.10 Password Manager
- 3.11 Performance
- 3.12 Policy Engine
- 3.13 Privacy/Security
- 3.14 Search and Navigation
- 4 This week I learned
General Topics / Roundtable
- Soft code freeze has ended. mozilla-central is now 67. And we shipped Fx65 today!
- [bgrins] --jsconsole argument added for `./mach mochitest` (Bug 1522916)
- [paolo] New and improved "about:config" for Firefox Desktop (dev.platform + firefox-dev threads, meta-bug 1493439)
- ChromeUtils.import() is changing to enable support for loading JSMs as ES6 modules.
Friends of the Firefox team
- Welcome back Prathiksha!
- Fixed more than one bug
- Akash Srivastava
- Arjun Krishna Babu
- Florens Verschelde :fvsch
- Jorg K (GMT+1)
- Tim Nguyen :ntim
- Varun [:vdey]
- New contributors (🌟 = first patch)
- 3DIndian swapped out the <tree> column picker GIF for an SVG
- Akash Srivastava swapped out some old PNGs for SVGs, and also got rid of some unused CSS
- 🌟 akshitha shetty fixed a visual glitch in the flex box inspector
- 🌟 chengy12 made it easier to port aboutDialog.js strings to Fluent
- 🌟 danielleleb12 ensured that siteDataSettings.js was using strict mode correctly
- Garvit Khatri got rid of some unused CSS variables
- 🌟 nickcowles9575 ported the Safe Mode dialog to Fluent
- Varun [:vdey] simplified some of our Telemetry testing code, and fixed a case where we weren’t showing a default icon for WebExtensions
- Getting visual components landed for Pocket New Tab page (where Pocket can remotely control article and layout: Card, Hero, List). Will hopefully turn on for Nightly testing in 67 timeframe and Release 66 experiments.
- Private browsing search box landed. \m/
Add-ons / Web Extensions
- Migration of the storage API to a much more efficient IndexedDB backend will ride the trains with 66 (this was previously enabled on Nightly only)
- The first batch of changes to not run extensions in private browsing mode by default landed, this is still behind a preference.
- Ian is working on an export for Firefox 67 that will notify uploaders the server is going away.
- Blog post with more details on Screenshots.
Services (Firefox Accounts / Sync / Push)
- No updates this week.
- Profile-per-install coming to Nightly 67 Really Soon Now.
- Hidden about:preferences panels now get lazily loaded, which speeds up page load
- https://hg.mozilla.org/integration/autoland/rev/41e11bb52568 - Timothy Guan-tin Chien - Bug 1520350 - Lazily load about:preferences markups from hidden panes r=jaws
- gandalf made it so that Fluent blocks layout to avoid flashes of untranslated content
- Thanks to Irene, we now have nice and up-to-date MDN documentation for 2 of our user-facing Firefox 65 features: Tracking CSS Changes, and the Flexbox Inspector.
- We have also largely overhauled our contribution docs. This will make it easier for anyone to start getting into Firefox DevTools development.
- Technical debt:
- We want to be able to work faster on the codebase, remove more XUL, get rid of intermittent failures, etc. As a result, we're setting our plan to remove the Shader Editor, Canvas Debugger and WebAudio Editor in motion: look out for an announcement on the mailing list this week. Then later in 67, there will be a removal notice in DevTools, and in 68, the panels will be removed (we'll make it possible for interested people to get the code, talk to yulia if you want to know more).
- We are also migrating the CSS Rules panels to React and Redux. It's one of our oldest piece of code and also one of our most important. Migrating it means more opportunities to reuse code from other parts of DevTools, a more approachable and predictable codebase, and faster feature development times.
- The initial UI for the new Event Listener Breakpoints feature has landed! (pref: devtools.debugger.features.event-listeners-breakpoints)
- Layout Tools:
- We're hard at work designing what the next layout debugging tools will be. People love our flex sizing inspection tool, and we want to do more like this. Ideas so far: debugging z-index stacking issues, debugging unwanted scrollbar issues, debugging inline layouts, etc.
- Introducing a new "markup badge" in the inspector, to quickly find out which elements have scrollable overflows:
- All teams continue to make progress on Fission
- DOM team working on core functionality (process switching, BrowsingContext, WindowProxies, PWindowGlobal, JS IPDL, etc.)
- Major work ongoing on rewriting SessionStore from JS to C++
- (See dependencies for the work breakdown)
- MattN is converting the FormAutoFillListeners code to the actors infrastructure
- Mconley is working on last dependencies to let the privileged process ride the trains
- Other work: Shared UA style sheets, shared font lists
- Arewefluentyet.com - 2.3k FTL Messages!
- Myk is working on expanding the ESLint rule padded-blocks to the whole tree (bug).
- The ChromeUtils.import changes that Kris is working on, will eventually mean we can get rid of the manually maintained modules.json. However, currently that is still used, so we need to keep updating it for the time being when we change exports.
- JS Debugger has started using Babel (for jsx)/Jest (elegant JS unit tests)/Flow (type-checking for front-end).
- Also hoping to start using webpack this week to build the debugger workers.
- Prathiksha started last week on the team, joining the rest of the developers formerly on Web Payments
- Working on a short-term bug list (low-hanging fruit and test fixes) while we work with Lockbox to figure out the longer-term roadmap
- dthayer has a PoC for a warm-up service that preloads DLLs during Windows start-up, reducing the time to first-paint for Firefox. Trade-offs are still being studied.
- felipe’s work to implement a subset of the Photon tab animations landed and bounced, getting close to sticking though
- Gijs’s work to lower frame rate on low-end machines has been queued for study. He also fixed a tp6 perf regression
- mconley has a patch up to enable the process priority manager on Nightly for Windows. Expect mail to dev-platform and firefox-dev about that. The patch to cause promiseDocumentFlushed to reject if the DOM has been modified in the callback is on autoland.
- https://perf-html.io/compare/ was deployed yesterday and provides a way to see 2 profiles at once to compare them.
- Added policies for min/max SSL version (1522182)
- Working on local file blocking (1450309) and extension whitelisting (1498745)
- We’ve released an Anti-Tracking policy document.
- We’re planning to change how cookie prefs and permissions are picked up by live documents.
- We released a new version of the Multi-Account-Container extension, brought to you by Outreachy intern Shivangi Kakkar.
- We turned on the MitM error page by default in 66, alerting users that their connection is probably broken because of an application in the middle of their traffic.
- switching built-in search engines to WebExtensions is on track for v67, current forecast is to merge it next week
- Lots of bug fixes and code cleanups, list too long, but now we have quantumbar-nightly and quantumbar-release tracking bugs
- Missing features ported from the legacy address bar: bookmark tags, paste-and-go, URL canonization, speculative connections, autofill, clearing history
- Improved test coverage: existing address bar tests have been moved from browser/base/content to browser/components/urlbar, and are split into a browser/ and a legacy/ folders, until we are done converting them. Converted tests will run on both old and new implementation, through a test abstraction in UrlbarTestUtils.jsm
This week I learned
- [MattN] actors with `allFrames:true` have some kinks to be worked out still. I would recommend waiting before adding any.
- [MattN] “<all_urls>” in an actor uses the webextension definition so doesn’t include schemes like resource:// or chrome://. This may affect mochitest-chrome tests which use chrome://. You can supposedly list the schemes you want on top of <all_urls>: [“<all_urls>”, “chrome://*/*”, “resource://*/*”] though I haven’t tested this.
- [florian] It’s possible to have symbols on profiles captured locally from try builds, you just need to trigger the “Sym” job on treeherder before capturing the profile to ensure symbols will be available on the symbol server.