13 Sep 2024
Planet Mozilla
Firefox Nightly: Fantastic Firefox Fixes β These Weeks in Firefox: Issue 167
Highlights
- Firefox 130 goes out today! Check out some interesting opt-in early features in Firefox Labs!
- Puppeteer v23 released with official Firefox support, using Webdriver BiDi. Read our announcement on hacks, as well as the Chrome DevTools' blog post.
- Marco fixed a regression bug where the Mobile Bookmarks folder was no longer visible in the bookmarks menus - Bug 1913976
- Amy, Maxx, Scott and Nathan have been working on some new layout variants for New Tab that we aim to experiment with in the next few releases. (Meta bug)
- Try it in Nightly: (Set either of these prefs to True)
- browser.newtabpage.activity-stream.newtabLayouts.variant-a
- browser.newtabpage.activity-stream.newtabLayouts.variant-b
- browser.newtabpage.activity-stream.newtabLayouts.variant-a
- Try it in Nightly: (Set either of these prefs to True)
- Mandy has implemented autofill for intuitive restrict keywords (e.g. typing @bookmarks instead of *) - Bug 1912045
- You must set browser.urlbar.searchRestrictKeywords.featureGate to true in about:config for this for now.
Friends of the Firefox team
Resolved bugs (excluding employees)
Script to find new contributors from bug list
Volunteers that fixed more than one bug
- Gregory Pappas [:gregp]
- Irene Ni
- Nipun Shukla
- Robert Holdsworth
- Tim Williams
New contributors (π = first patch)
- π Anthony Mclamb updated moz-card constructor to set expanded to false
- πc8ef fixed typo in multiple files
- Daniele Ferla added telemetry probes for PiP auto-trigger feature
- Malte JΓΌrgens updated privacy and security settings when MOZ_DATA_REPORTING is disabled
- Nipun Shukla added LAF unlocking and check for pinning status using new APIs, implemented private browser pinning using new Windows taskbar APIs, modified liteFirewall plugin to prevent crashes upon catching error, fixed perma MinGW failure due to missing mozilla namespace, and prevented Windows pinning notification from being shown twice.
- π Robert Holdsworth replaced BrowserTestUtils.waitForCondition with TestUtils.waitForCondition in browser_bug822367.js and renamed "Moz Button" Storybook story to "Button"
- Sergey Galich [:serg] simplified l10n in toolkit/components/satchel/
- π shubhampharande8 updated clear history 'today' to 'since midnight'
- π Stefan Richter updated when openerTabId changed via tabs.update()
- π superstuff updated middle clicking email address now opens account page in new tab
- Dan added emitEventForBrowsingContext method to a base RootBiDiModule class
- Tim Williams updated favicon not reseting when changing tab to about:newtab with newtab to Blank Page and moved onViewToolbarsPopupShowing and ToolbarContextMenu out of browser.js
- wildbydesign changed nsAppRunner to respect MOZ_FORCE_DISABLE_E10S if MOZILLA_OFFICIAL is not set
- π Yanis Lagha changed delete from history button to trash icon
Project Updates
Add-ons / Web Extensions
WebExtensions Framework
- As part of follow ups to the Manifest V3 improvements, the extensions button setWhenClicked/setAlwaysOn context menu items have been fixed to account for the extension host permissions listed in the manifest and the ones already granted - Bug 1905146
- We fixed a regression with the unlimitedStorage permission being revoked for extensions when users cleared recent history - Bug 1907732
- Thanks to Gregory Pappas, the internals used by the tabs's captureTab/captureVisibleTab API methods have been migrated to use OffscreenCanvas (and migrated away from using an hidden window) - Bug 1914102
WebExtension APIs
- Fixed openedTabId for notified through tabs.onUpdated API event when changes through tabs.update API method - Bug 1409262
- Fixed downloads.download API method throwing on folder names that contains a dot and a space - Bug 1903780
- NOTE: this fix has been landed in Nightly 131, but it has been also uplifted to Firefox 130 and Firefox ESRs 128 and 115.
- Fixed webRequest issues related to ChannelWrapper cached attributes missing to be invalidated on HTTP redirects (Bug 1909081, Bug 1909270)
- Introduced quota enforcement to storage.session API - Bug 1908925
- NOTE: currently enforced by default in Nightly >= 131, planning to let it ride the 134 train (tracked by Bug 1915688 - Enforce storage.session quota on release).
Addon Manager & about:addons
- Fixed enable/disabled state of the new sidebar extension context menu items (adjusted based on the addon permissions and Firefox prefs) - Bug 1910581
DevTools
DevTools Toolbox
- Gregory Pappas is reducing usage of hidden windows in the codebase, which we were using in a few places in DevTools (#1914107, #1546738, #1914101, #1915014)
- Mathew Hodson added a link to MDN in Netmonitor for the Priority header (#1894758)
- Emilio fixed an issue that was preventing users to modify CSS declarations in the Inspector for stylesheet imported into a layer (#1912996)
- Nicolas tweaked the styling of focused element and inputs in the markup view so it's less confusing (#1907803)
- Nicolas made a few changes to improve custom properties in the Inspector
- We're now displaying the computed value of custom properties in the tooltip when it differs from the declaration value (#1626234), and made the different values displayed in the tooltip more colorful (#1912006)
- And since we now have the computed values, it's easy to show color swatches for CSS variables, even when the variable depends on other variables (#1630950)
- We also display the computed value in the input autocomplete (#1911524)
- Nicolas fixed a crash in the Rules view that was happening when the page was using a particular declaration value (e.g. (max-width: 10px)) (#1915353)
- Julian made it possible to change css values with mouse scroll when hovering a numeric value in the input (#1801545)
- Julian fixed an annoying issue that forced users to disconnect and reconnect the device when remote debugging Android WebExtensions (#1856481)
- Still in WebExtension land, Julian got rid of a bug where breakpoints could still be triggered after being deleted (#1908095)
- Alex Thayer Implemented a native backend for the JS tracer which will make tracing much faster (#1906719)
- Alexandre made it possible to show function arguments in tracer popup previews (#1909548)
- Hubert is on the last stretch to migrate the Debugger to CodeMirror 6 (#1898204, #1897755, #1914654)
- Julian fixed a couple issues in the Inspector node picker: picking a video would play/pause said video (#1913263), and also, the NodePicker randomly stopped working after cancelled navigation from about:newtab (#1914863)
WebDriver BiDi
- External:
- Gatlin Newhouse updated mozrunner to search for DevEdition when running on macos (#1909999)
- Dan implemented 2 enhancements for our WebDriver BiDi codebase:
- Updates:
- Julian updated the vendored version of Puppeteer to v23.1.0, which is one of the first releases to officially support Firefox. This should also fix a nasty side effect which could wipe your files when running ./mach puppeteer-test (#1912239 and 1911968)
- Geckodriver 0.35.0 was released with support for Permissions, a flag to enable the crash reporter, and improvements for the unhandledPromptBehavior capability. (#1871543, blog post)
- James fixed a bug with input.KeyDownAction and input.keyUpAction which would unexpectedly accept multiple characters (#1910352)
- Sasha updated the browsingContext.navigate command to properly fail with "unknown error" when the navigation failed (#1905083)
- Sasha fixed a bug where WebDriver BiDi session.new would return an invalid value for the default unhandledPromptBehavior capability. (#1909455)
- Julian added support to all the remaining arguments for network.continueResponse, which can now update cookies, headers, statusCode and reasonPhrase of a real network response intercepted in the responseStarted phase (which roughly corresponds to the http-on-examine-response notification) (#1913737 + #1853887)
Fluent
- We're over 50% Fluent now, beating out .properties!
Lint, Docs and Workflow
- Updated eslint-plugin-jsdoc, which has also enforced some extra formatting around jsdoc comments.
- Document generation is getting some updates.
- Errors and Critical issues are now being raised as errors (previously they weren't being considered).
- More warnings will now be "fatal", all the existing instances of those warnings have been eliminated. They'll now be listed in as a specific failure rather than being hidden in the list of general warnings.
- Some of the warnings that were being output by the generate CI task have now been resolved, which should make it clearer when trying to understand the failures.
Migration Improvements
- fchasen is working on a new messaging experiment to help encourage people to create accounts to help facilitate device migration / data transfer. QA has come back green, and we expect to begin enrollment soon!
New Tab Page
- Scott (:thecount) is working on a plan to transition us off the two separate endpoints that provide firesponsored stories and top sites to New Tab to a single end-point.
- A new mechanism to let users specify the kinds of stories they are interested in with "thumbs up" / "thumbs down" feedback is being experimented with. We'll be studying this during the Firefox 130 cycle.
- We're (slowly) rolling out a new endpoint for recommended stories to New Tab, powered by Merino. The goal is to eventually allow us to better serve specific content topics that users will be able to choose. This is early days, and still being experimented with - but the new endpoint will make things much simpler for us.
Privacy & Security
- Bug 490753 - Clarify the "Today" duration in the clear recent history dialog Shubham Parandha fixed this bug, an outside contributor!
- We've made the switch to remote settings from shavar for ETP lists (riding the trains for fx131)! Bug 1912109 - Enable remote settings for etp lists in release
Profile Management
- (Note: to avoid potentially breaking the world for nightly users, this work is currently behind the MOZ_SELECTABLE_PROFILES build flag and the browser.profiles.enabled pref.)
- Mossop removed the -no-remote command line argument and MOZ_NO_REMOTE environment variable, so that the remoting server will always be enabled in a running instance of Firefox (bug 1906260)
- Mossop updated the remoting service to support sending command lines after startup (bug 1892400). We'll use this to broadcast updates across concurrently running instances whenever one of them updates the profile group's shared SQLite datastore.
- Niklas landed a change to update the default Firefox profile to the last used (last app focused) profile if multiple profiles in a group are running at the same time (bug 1893710)
- Jared added support for launching selectable profiles (or any unmanaged profiles not in profiles.ini) using the -profile command line option (bug 1910716). This enables launching selectable profiles from UI clicks.
- Jared updated the startup sequence to allow starting into new the profile selector window (bug 1893667)
Search and Navigation
- Scotch Bonnet redesign
- James improved support for persisting search terms when the feature is enabled - Bug 1901871, Bug 1909301
- Karandeep implemented updating the unified button icon when the default search engine changes - Bug 1906054
- James fixed a bug causing 2 search engine chiclets to show in the address bar at the same time - Bug 1911777
- Dale has restored Actions search mode ("> ") - Bug 1907147
- Daisuke fixed alignment of the dedicated search button with results - Bug 1908924
- Daisuke fixed search settings not opening in a foreground tab - Bug 1913197
- Search
- Moritz added support for SHIFT+Enter/Click on search engines in the legacy search bar to open the initial search engine page - Bug 1907034
- Other relevant fixes
- Henri Sivonen has restored functionality of the `network.IDN_show_punycode` pref that affects URLs shown in the address bar - Bug 1913022
13 Sep 2024 9:25pm GMT
Mozilla Thunderbird: Thunderbird for Android/ K-9 Mail: July and August 2024 Progress Report
We're back for an update on Thunderbird for Android/K-9 Mail, combining progress reports for July and August. Did you miss our June update? Check it out! The focus over these two months has been on quality over quantity-behind each improvement is significant groundwork that reduces our technical debt and makes future feature work easier to tackle.
Material 3 Update
As we head towards the release of Thunderbird for Android, we want you to feel like you are using Thunderbird, and not just any email client. As part of that, we've made significant strides toward compatibility with Material 3 to better control coloring and give you a native feel. What do you think so far?
The final missing piece is the navigation drawer, which we believe will land in September. We've heard your feedback that the unread emails have been a bit hard to see, especially in dark mode, and have made a few other color tweaks to accompany it.
Feature Modules
If you've considered contributing as a developer to Thunderbird for Android, you may have noticed many intertwined code modules that are hard to tackle without intricate knowledge of the application. To lower the barrier of entry, we're continuing the move to a feature module system and have been refactoring code to use them. This shift improves maintainability and opens the door for unique features specific to Thunderbird for Android.
Ready to Play
Having a separate Thunderbird for Android app requires some setup in various app-stores, as well as changes to how apps are signed. While this isn't the fun feature work you'd be excited to hear about, it is foundational to getting Thunderbird for Android out of the door. We're almost ready to play, just a few legal checkboxes we need to tick.
Documentation
K-9 Mail user documentation has become outdated, still referencing older versions like K-9 Mail 6.4. Given our current resources, we've paused updates to the guide, but if you're passionate about improving documentation, we'd love your help to bring it back online! If you are interested in maintaining our user documentation, please reach out on the K-9 Forums.
Community Contributions
We've had a bunch of great contributions come in! Do you want to see your name here next time? Learn how to contribute.
- Community contribution from msizanoen1 to move a file to its correct location.
- Thank you to Husain for improving our email validation when composing messages.
- Kudos to Mino for suggesting some changes to mime type inference.
- Great job riskrose for making some of the comments more readable.
- SuGotLand and Abdul are helping users to keep the bird flying by avoiding two crashes.
- Increased clarity thanks to Akash, who has refined some network error messages.
The post Thunderbird for Android/ K-9 Mail: July and August 2024 Progress Report appeared first on The Thunderbird Blog.
13 Sep 2024 1:05pm GMT
12 Sep 2024
Planet Mozilla
Spidermonkey Development Blog: SpiderMonkey Newsletter (Firefox 130-131)
SpiderMonkey Newsletter 130-131
Hello everyone!
I'm Bryan Thrall, just passing two and a half years on the SpiderMonkey team, and taking a try at newsletter writing.
This is our opportunity to highlight what's happened in the world of SpiderMonkey over Firefox releases 130 and 131.
I'd love to hear any feedback on the newsletter you have, positive or negative (you won't hurt my feelings). Send it to my email!
π Performance
Though Speedometer 3 has shipped, we cannot allow that to let us get lax with our performance. It's important that SpiderMonkey be fast so Firefox can be fast!
- Contributor Andre Bargull (@anba) added JIT support for Float16Array (bug 1835034)
β‘ Wasm
- Ryan (@rhunt) implemented speculative inlining (bug 1910194)*. This allows us to inline calls based on profiling data in wasm
- Julian (@jseward) added support for direct call inlining in Ion (bug 1868521)*
- Ryan (@rhunt) landed initial support for lazy tiering (bug 1905716)*
- Ryan (@rhunt) shipped exnref support (bug 1908375)
- Yury (@yury) added JS Promise Integration support for x86-32 and ARM (bug 1896218, bug 1897153)*
* Disabled by default while they are tested and refined.
πΈοΈ Web Features Work
- Andre Bargull (@anba), has dramatically improved our JIT support for BigInt operations (bug 1913947, bug 1913949, bug 1913950)
- Andre Bargull (@anba) also implemented the RegExp.escape proposal (bug 1911097)
- Contributor Kiril K (@kirill.kuts.dev) implemented the Regular Expression Pattern Modifiers proposal (bug 1899813)
- Dan (@dminor) shipped synchronous Iterator Helpers (bug 1896390)
π·π½ββοΈ SpiderMonkey Platform Improvements
- Matt (@mgaudet) introduced JS_LOG, which connects to MOZ_LOG when building SpiderMonkey with Gecko (bug 1904429). This will eventually allow collecting SpiderMonkey logs from the profiler and about:logging.
12 Sep 2024 8:33pm GMT