- 1 Actions from last meeting
- 2 General Topics / Roundtable
- 3 Friends of the Firefox team
- 4 Project Updates
- 4.1 Add-ons
- 4.2 Activity Stream
- 4.3 Electrolysis (e10s)
- 4.4 Firefox Core Engineering
- 4.5 Form Autofill
- 4.6 Lint
- 4.7 Photon
- 4.8 Platform Audibles
- 4.9 Privacy/Security
- 4.10 Project Mortar (PDFium)
- 4.11 Search
- 4.12 Sync / Firefox Accounts
- 4.13 Test Pilot
- 5 This week I learned
Actions from last meeting
- Select a new meeting leader for June 6th meeting.
- Today’s meeting leader is: mconley
- Next meeting leader is: kitcambridge
General Topics / Roundtable
(tips/tricks/FYI, productivity improvements, industry news)
- [MattN] Startup profiling now supports sub-millisecond intervals thanks to :kmag!
- [MattN] Non-e10s talos is no longer run
- [mconley] Element.focus() causes layout flushes, and should be used sparingly. We should definitely avoid calling it multiple times in the same tick of the event loop.
Friends of the Firefox team
(Give a shoutout/thanks to people for helping fix and test bugs. Introductions)
- Resolved bugs (excluding employees):
- More than one bug fixed: https://mzl.la/2rwO12P
- Dan Banner
- Kevin Jones
- Milind L (:milindl)
- Swapnesh Kumar Sahoo [:swapneshks]
- New contributors (🌟 = First Patch!)
- 🌟 jomer14 got rid of some leftover l10n files that Firefox Accounts didn’t need anymore!
- 🌟 Pauline got rid of PlacesUtils.asyncGetBookmarkIds (which isn’t needed anymore thanks to Bookmarks.jsm), which also reduced our memory footprint!
- 🌟 Shashwat Jolly cleaned up some of our strings in about:license!
- More than one bug fixed: https://mzl.la/2rwO12P
- No updates this week.
- ‘Graduation’ team is getting close to preffing on Activity Stream in Nightly and working on Search Suggestions, about:home, cleaning up tests, and perf telemetry
- Aiming for more regular / weekly landings from github to mozilla-central
- Replaced custom React search suggestions from Test Pilot with existing contentSearchUI used for about:home/about:newtab simplifying tests
- Test Pilot team is finishing up customization (drag’n’drop, add/edit topsite), as well as beginning work on Sections
- Activity Stream, when enabled on m-c runs in the content process!
- Removed most of Content Services / Suggested Tiles code from about:newtab resulting in perf improvements and removed / ~8x fewer intermittent test failures
- The e10s-multi team is still looking over the data being gathered from the Beta population against the release criteria to determine whether or not e10s-multi will ship in Firefox 54, or will have to wait until Firefox 55
- e10s-a11y support in Firefox 55 has been marked “at risk” due to stability issues. A go/no-go will be happen no later than June 3rd
- erahm has a blog post about how memory usage with 4 content processes continues to be the sweet spot
- We’re officially shipping the streamlined stub installer in 55 (this is Windows only). You can see it as of tomorrow’s Nightly.
- Reminder: 55 is also installing 64bit by default on 64bit OS; updates come later.
- Resolved race condition in Rust runtime. This may have been bugging some tests (no pun intended).
- We have preliminary top crashers lists from crash stacks sent via crash pings. Expanding that analysis is pending review of the data & correlation with crash reports.
- Just started week 3 of the Flash Shield Study. Preliminary results: Flash usage is reduced by 75%
- Flash is CTP by default on Nightly, and on track to Release 55.
- Form Autofill is enabled-by-default in Nightly! Give it a try by manually creating an address profile in preferences. (tweet) 💰
- Lots of focus was on a linux64 Talos startup regression which is now resolved by making various pieces of autofill initialization lazier. This slowed down other landings in order to not add other noise.
- Enable Form Autofill by default on Nightly
- Rename formautofill preference prefix and address pref suffix
- Add a chrome-only API to preview the option to be auto-selected in a select
- [Form Autofill autofill's autocomplete popup filtering is broken]
- Support feature detection on autocomplete attribute
- [Form Autofill Implement the credit-card storage]
- profileStorage.get should return null instead of throwing, and .add should return the newly created guid.
- Add SchemaVersion for each record in ProfileStorage
- [Form Autofill Dismiss preview highlight if the filled > fields is being changed]
- In Progress
- [Form Autofill Auto-create new profiles based off submitted form data]
- Show a preview of what would be filled when a form autofill autocomplete result is highlighted
- [Form Autofill Prompt a door hanger to notify users that > profile has been saved when users submit a new form for the first time]
- Implement the first version of heuristic algorithm.
- Field Prediction Heuristics for select > element.
- Implement "Prefer" operation for Sync engine.
- …and more
- The previously mentioned hooks for ESLint will now automatically update ESLint’s setup if needed.
- The mozilla/recommended configuration is now default for the whole tree. Directories which don’t use all the rules are whitelisted. We’ll work towards reducing those.
- There’s been more improvements for using eslint-plugin-mozilla outside of mozilla-central, and it is now being used by various github based repositories including screenshots, activity stream, pdfjs
Photon Engineering Newsletter #1 out last week, #2 coming later today.
- [mconley] More rigorous reflow tests have landed for window opening, tab opening and tab closing.
- [mconley] Kudos to the Structure / Menus team for making the subview animations smooth as silk! (Notice that Oh no! Reflow! is detecting no synchronous reflows in that video)
- [mconley] The Joy of Profiling - Episode 1. Submit Gecko Profiler profiles here.
- Task.jsm and Promise.defer() removal big patches landed as pre-announced during the last meeting. This covered the browser/ and toolkit/ folders, more patches coming soon for other folders.
- The page action menu has started taking shape and now has items to copy/email links, and will soon have a ‘send to device’ submenu;
- Tomorrow’s nightly will have Firefox Account and cut/copy/paste items in the main hamburger panel;
- Main work on the permanent overflow panel (as a replacement for the customizable bits of the existing hamburger panel) is done, working on polish and bugfixes;
- Work will start on the new library button this week;
- We’ll be working to flip the photon pref by default on Nightly in the next week or two;
- Patches going through review for download animation and refresh/stop animations.
- Working on getting toolbarbutton icons to scale up on press
- A patch to run more of our animations on the compositor bounced but should get landed again today.
- Dao detached the back, forward and reload/stop buttons from the urlbar.
- Dale implemented the new location and search bar design
- Nihanth implemented the new toolbar button hover and active background styles
- Nihanth alsoincreased the vertical padding of the toolbar buttons
- Nihanth further implemented the new back button design.
- Johannis working on compact and touch modes.
- And lots of small regression fixes.
- The Automation workflow-correct scerencast http://bugzil.la/1361286
- UX spec for Activity Stream is in progress
- The UI part will be done separately in Activity Stream
- Skeleton of onboarding overlay system add-on is under review with Mossop. http://bugzil.la/1357005
- Under discussion about onboarding tour’s update between different versions.
- Search is taking shape on Nightly! It now comes with the right highlight color, tooltips for sub-dialog search results. With the help from QA engineers, we are closing the gap between implementation & spec.
- UX team asked us to revise re-org. The change will likely postpone re-org shipping by one release (to 56); the good news is the release population will be presented with the new search & re-org at the same time, if that happens.
- No updates this week.
- Mostly Containers work, see Test Pilot update.
Project Mortar (PDFium)
- :peterv made some progress of the JSPlugin architecture - the last few pieces of work are reviewing. Hopefully this is the final round of review, and we will land all of them (8 patches!) soon.
- One-off buttons in the location bar are ready to ride the trains in 55.
- Search suggestions are now enabled by default. Users who had explicitly opted out of search suggestions in the past, will not see them.
- Hi-res favicon improvements: the default globe favicon is now hi-res (SVG) everywhere in the UI and some ugly icon rescaling was fixed.
Sync / Firefox Accounts
- Form autofill sync engine in progress. Sync team working with :MattN, :seanlee, and :lchang on profile reconciliation: https://bugzilla.mozilla.org/show_bug.cgi?id=1361242, https://bugzilla.mozilla.org/show_bug.cgi?id=1363995
- New sync engine checkboxes for autofill profiles and CC data: https://bugzilla.mozilla.org/show_bug.cgi?id=1361285 :juwei working on opt-in UX: https://mozilla.invisionapp.com/share/AP8TFZ22G#/screens/185446463
- Removing nested event loops from Sync: https://bugzilla.mozilla.org/show_bug.cgi?id=1210296
- Containers experiment release 2.3.0 coming this week
- adds a “site assignment” on-boarding panel to increase site assignments
- removes SDK code
- Screenshots: aiming for 55
- Hoping WebExtensions will be performant enough by 55
- Backup plan: move UI (toolbar button, context menu item) into bootstrap code, lazy-load WebExtension on click.
- Currently in progress
- We’re planning to start a Test Pilot blog (with help from Marketing)
- Test Pilot and experiments are moving away from the SDK
- Looking into replacing Test Pilot addon functionality with a > WebExtension API Experiment (learn > more)
This week I learned
- async/await & promise can still jank. Use requestIdleTimeout instead(?)
https://groups.google.com/forum/#!topic/mozilla.dev.platform/A6aRmSgExb0 (thread by Mark Hammond)