Highlights
- 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.
- The Activity Stream has launched Search Shortcuts to Germany, Italy, France, Japan and the UK!
- The Linting team is focused on adding new directories. This is an excellent opportunity to hack on some mentored Firefox bugs!
- Some Content Blocking UI updates have recently landed in Nightly:
- Firefox for Fire TV 3.1 released – with desktop mode for sites
- Firefox for Echo Show 1.2 scheduled for release on November 26th, and includes some crash fixes
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
- 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 parameters to show different onboarding messages to user based on how they installed Firefox
Application Services (Sync / Firefox Accounts / Push)
- A lot of exciting work happening on mobile. 🦊📱
- Mark has history sync working between the Android Components reference browser and Desktop! 🕒
- Mark also wired up our Rust Places library to provide autocomplete suggestions for the Android Components 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. 📚
- Mark has history sync working between the Android Components reference browser and Desktop! 🕒
Fission
- <browser>.browsingContext landed
- Front-end meta bug created, and bugs are being filed against it
Fluent
- Over 25% of the DTD strings in Firefox have now been migrated to Fluent!
- Fluent 0.8 (1.0RC) spec is now completed and in implementation phase
Mobile
Android Components
- Last week we released version 0.31.0 and this week 0.32.0 of Android Components. Some highlights of those releases:
- NestedGeckoView / NestedWebView implementations to synchronize scrolling with a toolbar or other views (e.g. hiding the toolbar when the web content is scrolled).
- A new component called concept-fetch defining an abstract definition of an HTTP client for fetching resources. In 0.32.0 we landed two implementations of this concept based on HttpURLConnection and okHttp (GeckoView/Necko implementation to follow soon). Eventually all HTTP client code in the components will be replaced with concept-fetch and consumers can decide what HTTP client implementation components should use in an app.
- Permission requests of content (e.g. camera, location, protected media playback, ..) can now be observed and processed via the browser session component.
- A rewritten, configurable session storage for persisting the session state to disk.
- In addition to that we landed a lot of improvements in our Reference Browser (Nightly builds available here):
- Integrated crash reporting using lib-crash component.
- Added awesome bar using browser-awesomebar component.
- Toolbar is hiding automatically now when scrolling web content.
- Added browser-storage-sync component for saving and syncing browser history soon.
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
Search and Navigation
Search Shortcuts Improvements
- Clicking a @shortcut in the results pane fills it, instead of visiting the engine homepage
- Normal (non @shortcut) aliases are no more highlighted
- Restriction characters typed before @shortcuts had an unexpected behavior
- Autofilled @shortcuts only show a “Search with” entry.
Quantum Bar
- Convert One-off buttons to a plain js object and lazily initialize them
- Restriction characters changes (restrict to search with “?” and to urls with “$”) have been uplifted to Firefox 64
- About to land a UnifiedComplete wrapper that allows to use the current Address Bar search component as a Quantum Bar provider
Places
Web Payments
- 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
- An invalid credit card number stored in our autofill database blocks usage of the edit address and credit card dialogs
- The re-sizable “Street Address” field severely affects the Add/Edit form’s layout
- Support regionCode and dependentLocality for merchant errors
- <csc-input default-value=”…”> isn’t implemented; Security Code no longer populated on summary page after adding
- 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
- Original Billing Address is pre-selected after returning from the “Edit Billing Address” screen via “Back” button
- Various fixes to OS re-auth
- In Progress
- Editing an existing address with shipping and contact fields from the contact/payer form will blank address fields
- Retry with shipping validation on https://rsolomakhin.github.io/pr/shipping-validation/ doesn’t work properly
- Use a dropdown for the state/province field, where possible
- Share validation between the form pages and the summary page and surface the errors on both views
John M. wrote on
Andy wrote on
BelFox wrote on
John Pluto Smith wrote on
Pascal Chevrel wrote on