Firefox/Meeting/20-Nov-2018
Todayโs meeting leader is: lina
General Topics / Roundtable
Friends of the Firefox team
Introductions
- Gijs introduces Patricia Lawless (:plawless)! Welcome!
Resolved bugs (excluding employees)
Fixed more than one bug
Collin Wing
Florens Verschelde [:fvsch]
Jack Smith
Jonas Jenwald [:Snuffleupagus]
Luke Schwalfenberg [:lschwalf]
Qinghao Song
Tim Nguyen :ntim
Vincent
New contributors (๐ = first patch)
๐ chandranvishwaak fixed a colouring discrepancy in the tabstrip with the Dark or Light Themes enabled
๐ Kristin Taylor [:kristin] spruced up how strings appear in errors in the console
๐ Vincent fixed an issue where a certain error message in DevTools couldnโt be dismissed if the error was for a resource with a really long URL, and also fixed the Font Explorer for input fields
Jack Smith ported a bunch of strings from about:preferences to Fluent
Iba_2 made the Network Monitorโs Header section easier to work with when the viewport is small
Jim Lennon [:jim] converted a chunk of about:addons to Fluent
๐ r2hkri removed some dead code from tabbrowser.js
rishabhjairath simplified some of the code in an AwesomeBar test
Ross Brandes made the Emacs-like keyboard shortcuts for the location bar fire Accessibility-friendly focus events
๐ Shivangi Kakkar [:shivi] fixed some casing in our containers UI
๐ Jay Zuo made sure a function was properly bound to an object in our DevTools code
Project Updates
Activity Stream
- Launched Search Shortcuts to Germany, Italy, France, Japan and UK
- CFR experiment (addon recommendation) in 63
Prefed on (in nightly) the new implementation of snippets on about:home and about:newtab
Same looks but removed security risks
Using attribution targeting to show different onboarding messages to user based on how they installed Firefox
Add-ons / Web Extensions
Application Services (Sync / Firefox Accounts / Push)
A lot of exciting work happening on mobile. ๐ฆ๐ฑ
Mark has history sync working between Android and Desktop! ๐464x290px
Mark also wired up our Rust Places library to provide autocomplete suggestions for the Android awesomebar. ๐
Edouard and Ryan wired up the Android Components reference browser to the new client instance metadata API. This will power device names, as well as the new, faster โsend tab to deviceโ. โ๏ธ
Thom is continuing to improve our FFI layer, which lets our Android projects (and iOS, and, some day, Desktop!) consume our Rust syncing and storage libraries. ๐
Thom and Nick have also been working on shipping composite builds, with all the Application Services Rust components in a single library. ๐ฆ
JR is sketching out an API for a Rust Push component, which weโll use on mobile first, and eventually replace the push client on Desktop. ๐ฃ
Lina added history collection to GeckoView and the GeckoView engine in Android Components, and some fixes for new bookmark sync. ๐
Browser Architecture
Developer Tools
- End-user documentation: lots of updates; looking more consistent and up to date now. E.g.: https://developer.mozilla.org/en-US/docs/Tools
Console:
Can now invoke getters from the console (demo). Shipping in 65!
Autocomplete on $0 and $_ landed
On the server, for the autocompletion, we are now using an AST to get the property chain (e.g. `a.b[โdโ][foo].x`)
Work on frame grouping: context matching (i.e. mark a frame as part of a framework only if other frame match the framework in the callstack. Example: zone.js in Angular)
Florens made the message icon (info and error) match the Photon design system (shape + color)
Console now uses debugger stacktrace component (Bug 1390768)
Autocomplete on Number literals (e.g. `1..` or `(1).`) (Bug 1479366)602x303px
Debugger
Breakpoint server improvements 1503436, 1489892
Run To Completion (R2C) progress 1074448
Debugger splitter is works D11178
Column Breakpoint progress 7241
Buttons are back again (switched from chrome to resource)
Design tools:
Track changes milestone 1 shipping to 65 (bug)
Flexbox highlighter+inspector shipped to Firefox 65 too.
Fission:
Lots of work and research happening
Migrating fronts to proper ES6 classes + cleaning up lotsa tests
Remote debugging:
Milestone 1 was finished!! ๐
Next milestone: to ship something that retires the (old, current) about:debugging page
Now you can debug extensions in USB devices.
We are showing a header when debugging a USB device's tab
Fixed many edge cases related to zombie/inactive tabs on Android
Now using React Router Dom to persist the selected page (added to vendors, in case you need it for other React projects in about: pages)
Lots of UX discussion + work happening
Will work on performance panel integration on current milestone
favicons are back in about:debugging#tabs (bug)
stop debugging session when USB debugging is disabled on the device (bug)
Performance:
DAMP is now a Web Extension instead of a bootstrapped add-on (bug)
Fission
- <browser>.browsingContext landed
- Front-end meta bug created, bugs are being filed
- Fission for Front-end engineers session in Orlando - Thursday, 9am
- Over 25% DTD strings in Firefox were now migrated to Fluent!
- Fluent 0.8 (1.0RC) spec is now completed and in implementation phase
- Mainly working on adding new directories.
NodeJS
Performance
dthayer
Work on document splitting is ongoing. This will allow us to eventually output these to separate framebuffers which we can hand to the OS compositor, allowing us to not have to paint the whole window every time something in the chrome changes / animates.
Doing some scaffolding work to support having async work inside PromiseWorkers.
Felipe
Tab animation work is ongoing
Try builds generated and waiting for feedback from UX
Cleaning up patches to start feedback/early-review cycles
Florian
QA is testing the new about:performance features.
Fixing more bugs (rtl, minor layout issues, etc.)
Working on a tool to explore BHR (background hang reporter) data - feedback welcome!
Gijs
Continuing to experiment with lowering vsync frame rate on low-end devices to improve performance there.
Landed a fix to make the initial tab remote immediately, to avoid loading about:blank in the parent first. Continuing work on reducing about:blank-loading overhead.
Chasing a Linux-only leak regression in our printing tests that seems to have to do with the focus manager holding on to a content window indefinitely.
mconley
Changed how tabs-in-titlebar works under the hood, and still dealing with a bunch of follow-ups from that.
Follow-ups from the privileged content process work for about:newtab
Policy Engine
Uplifted to beta and ESR policies for:
Certificates
Locale switching
Startup choices (restore session, new tab page..)
Updating Extensions
- Platform-level macOS support also uplifted for beta/ESR
- Removed the concept of GPO machine-only policies, which simplifies usage and documentation
Privacy/Security
- Firefox Monitor doorhanger notifications launched for release-channel users on all locales. We published a blog post detailing our policy for which sites will trigger an alert.
- Content Blocking UI updates: new sub-panel for trackers in the control center + new card-like UI in about:preferences
Search Shortcuts Improvements:
- Clicking a @shortcut in the results pane fills it, instead of visiting the engine homepage (Bug 1507568)
- Normal (non @shortcut) aliases are no more highlighted (Bug 1504847)
- Restriction characters typed before @shortcuts had an unexpected behavior (Bug 1504552
- Autofilled @shortcuts only show a โSearch withโ entry. (Bug 1504854)
Quantum Bar:
- Convert One-off buttons to a plain js object and lazily initialize them (Bug 1506261)
- Restriction characters changes (restrict to search with โ?โ and to urls with โ$โ) have been uplifted to Firefox 64 (Bug 1499743)
- About to land a UnifiedComplete wrapper that allows to use the current Address Bar search component as a Quantum Bar provider (Bug 1502879)
Places:
- Livemarks code is being removed from toolkit (Bug 1502954).
- Welcome to engineering manager Patricia!
- On track to complete M4 by December 21 (Currently 65% complete)
- Thanks to Diego Pino for his continued contributions
Completed
The re-sizable "Street Address" field severely affects the Add/Edit form's layout
Support regionCode and dependentLocality for merchant errors
Handle moving/detaching tabs between windows when a Payment Request is showing
The fields with drop-down on the Order Summary page are populated twice with the selected option
In Progress
This week I learned
[mconley, unvoiced] You can re-trigger non-profiling Talos jobs on Treeherder to get profiles, without having to re-push!