Highlights
- Activity Stream now lets you set a custom thumbnail for Top Sites!
- The doorhanger for an extension-controlled homepage now links to a SUMO article, and the doorhanger for an extension-controlled New Tab page now shows the extension name.
- Initial telemetry for tab warming looks good, with median and mean tab switch time dropping substantially.
- We’ve released Facebook Container, a WebExtension that makes it easier for you to keep all of your Facebook activity in a single container. See the blog post for details on how this helps you preserve your privacy!
- Voice Fill & Snooze Tabs Test Pilot experiments are being graduated to AMO! Min Vid is going to be turned into a SHIELD experiment.
Friends of the Firefox team
- Resolved bugs (excluding employees): https://mzl.la/2uoryHL
- More than one bug fixed:
- Aakanksha [:accakks]
- Abdoulaye O. LY
- Jeremy Lempereur [:o0ignition0o]
- Matheus Longaray (:mlongaray)
- Oriol Brufau [:Oriol]
- Sean Reeise
- Tim Nguyen :ntim
- Trisha
- Vivek
- YUKI “Piro” Hiroshi
- akriti verma
- New contributors (🌟 = First Patch!)
- 🌟 Abdoulaye O. LY made it so that muted states for tabs are remembered by session restore, and also made us avoid injecting lazy browsers in some situations
- 🌟 Alex Morega updated one of our default bookmarks to point at something more relevant
- 🌟 Brian got rid of an unused CSS variable
- 🌟 Daniel de Almeida refactored a chunk of AsyncTabSwitcher
- 🌟 Kiran updated a chunk of AsyncTabSwitcher to use a more appropriate accessor to the tabContainer
- Olivier Tilloy fixed a case where setting Firefox as the Default Browser when installed as a Snap package (Ubuntu) would fail
- 🌟 Sean Reeise added some documentation to our CSS to explain why some CSS variables are (intentionally) defined but not used. He also removed some Instantbird-specific code from the app updater.
- 🌟 Jon Kollari removed an unused CSS variable
- 🌟 Vivek (one of our MSU students) made it so that some parts of themes transition smoothly when switching between them. He also fixed a glitch in how we were theme-ing datepicker panels, and renamed a variable within tabbrowser.js to something more appropriate.
- More than one bug fixed:
Project Updates
Add-ons
- Listeners to the
tabs.onUpdated
event may now supply a filter to avoid overhead for unwanted events. - A bug that caused tab IDs to change when tabs were moved between windows was fixed.
- A few bugs in the bookmarks API were fixed.
- Page actions are now much more efficient. Some other bugs with page actions and browser actions were also fixed.
- There is now a preference that requires language packs to be signed (which currently defaults to false, but will eventually be switched to true).
- Kris removed some old code related to legacy extensions (
bootstrap.js
, we’re coming for you soon). - Zhengyi implemented theming the toolbar inputs focused background, text and border.
Activity Stream
- Rearranged New Window / Tab preferences to Home
about:preferences
category. - Running wider / responsive layout experiment on Beta 60.
- Adding dark theme detection to switch to dark theme.
- Starting work on a “View More” /
about:library
view and downloads in Highlights.
Browser Architecture
- All XUL Overlays have been removed (metabug)
- Completed a design review of rkv – a Rust-based key value store based on LMDB, an alternative to the various ways we save key-value data today. Here’s a summary and a full list of current data stores.
- XBL bindings continue to be removed.
xul.css
no longer loaded in content since Android<touchControls>
have been merged with<videoControls>
.
- Firefox Preferences migrating to Fluent.
Lint
- Rolling out no-undef to devtools for tests (and finding bugs in tests!)
Policy Engine
- Some new policies are being, or have been uplifted, to Beta.
- Pre-installed add-ons policy being developed.
- Soft freeze by the end of this week; only stabilization, testing and documentation work after that.
Performance
- Tab warming
- Spinner telemetry initially dipped, but strangely has regressed again for some reason. Still trying to figure out why, although there’s a known regression where some content appears to not paint after a scroll. A speculative patch appears to fix it.
- Blank on first paint
- florian enabled this by default on Nightly for Linux and Windows!
- Unsurprisingly, this allows us to paint something much faster, and we’ve seen a substantial
ts_paint
drop on Linux and a similar improvement onSIMPLE_MEASURES_FIRSTPAINT
on Telemetry.
- Blocklist improvements
- BHR (
BackgroundHangReporter
) improvements- dthayer made it so that BHR now more accurately captures stacks when hanging on paint during tab switch
- dthayer has patches to get the
ContentPrefService
database off of the main thread! All reviewed, likely landing soon! - dthayer is also working on reducing visual noise during start-up when restoring sessions with pinned tabs
- mconley is looking at the impact of 60fps tab throbbers on pageload time on less powerful macOS systems
Privacy/Security
Search and Navigation
Address Bar & Search
- Search engine discovery from the Address Bar is pending review and is likely to hit Nightly in the next days.
Places
- Fixed a Firefox 60 regression breaking the All Bookmarks UI for some locales
- We are evaluating the removal of the default smart bookmarks (Most Visited, Recent Tags) from new profiles, to reduce code complexity and improve syncability. Feedback is welcome.
- Started working on bookmark tags refactoring (async-ify and simplify)
- Support for multiple OR-ed queries has been removed from Places, to simplify code and speed up future development
- We’re currently converting and removing old tag queries, to use a new storage-independent format
- Next we will merge the Tagging and Bookmarking APIs
- The Library left pane is now a virtual query, allowing us to improve its reliability, syncability and I/O patterns.
- Database migration will remove any non-official bookmark roots.
- Removed even more deprecated code:
<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1437516">nsINavBookmarks:runInBatchMode</a>
nsINavBookmarks::getBookmarkURI
- Exclude-from-backup annotation
- Mobile-root annotation
- Unused code
More
Sync / Firefox Accounts
- Ed added a preference to disable and hide the UI for Sync and Firefox Accounts 🚫.
- Ed is powering through Pushbox ✋📦 work to improve the Send Tab experience across all our devices.
- The last sync time is now relative ⏰, using the fancy new
Services.intl.RelativeTimeFormat
API. - Thom fixed the Sync HTTP client to handle UTF-8 correctly in all cases 📣. This should fix “mojibake” in device names, among other issues.
- Thom also fixed some gnarly TPS failures ✅.
- Lots of small cleanup fixes 🐞: improving copy in the signup flow, replacing
new String(...)
with POJOs, and making deduping more efficient in the bookmark mirror.
Test Pilot
- Work continues on Firefox Accounts integration for Screenshots, as well as a Chrome WebExtension, Telemetry-based engagement dashboard, and many minor bug fixes.
Web Payments
- Reviewed user research on our current flow, “unhappy path” user testing
- Continuing to land UI in Nightly as we build out the payment flow, behind the
dom.payments.request.enabled
pref.
Below the fold
- (Osmose) We have a working prototype collecting browser chrome JS errors on the Nightly channel (tracking bug 1426479). We’re evaluating if collecting these errors is useful enough to do on a permanent basis, but we need your help in using the data to find/fix bugs! If you’re interested, see the wiki page for instructions on how to get access (limited to employees only for now).
- [mconley] We collect hang reports on pre-release channels using BHR. That information is available at arewesmoothyet.com, which you should use. Search for main thread hangs involving your scripts!
- dthayer is working on improving the performance of arewesmoothyet.com. I can confirm that the irony is not lost on him.
- florian has combined the infrastructure for our performance tests so that we can test for flickering and reflows at the same time. This should make it easier to write performance tests, since test writers will mostly have to worry about scripting the actions to be tested. And this has significantly expanded our flicker test coverage.
Robert Ab wrote on
Robert Ab wrote on
BelFox wrote on
Christina wrote on