Firefox/Meeting/28-Nov-2023

From MozillaWiki
Jump to: navigation, search

Today’s meeting leader is: jhirsch

Nov 28, 2023

General Topics / Roundtable

Friends of the Firefox team

Introductions/Shout-Outs

Resolved bugs (excluding employees)

Script to find new contributors from bug list

Volunteers that fixed more than one bug

  • Patryk Gruszka

  • Vinny Diehl

New contributors (🌟 = first patch)

  • Will be filled in after the meeting

General triage

Project Updates

Accessibility

  • Tier 2 A11y-checks:

    • You can do a Try run by selecting a11y-checks jobs on Linux (`./mach try fuzzy --full` then `a11y-checks linux !wayland !ccov !tsan !asan !devedition !debug` would give you the best coverage and performance

    • Locally, use flag `--enable-a11y-checks` with your `./mach test` command to run browser chrome tests

    • Reach out to #accessibility Matrix room if you have any questions

    • Ayeddi and Jteh continue working on the remediation and fine-tuning of AccessibilityUtils:

      • Added mustBeEnabled rule to be able to skip a11y-checks when we click disabled controls in mochitests to confirm nothing happens (bug 1864577)

      • Added two checks for focusable buttons within the Awesomebar to avoid false positive a11y-checks - isKeyboardFocusableOption(accessible) and isKeyboardFocusableUrlbarButton(accessible), since the keyboard navigation pattern within the search bar is custom (bug 1864751)

    • Eeejay fixed mozilla::detail::InvalidArrayIndex crash that unblocked multiple test files (Bug 1849230)

  • Thanks to all the teams for reviews and collaboration!

Add-ons / Web Extensions

Addon Manager & about:addons

  • As part of changes needed for DSA (EU Digital Services Act) requirements, in Firefox 121 we are going to enable a new add-on abuse reporting form hosted on addons.mozilla.org (Bug 1863307, Bug 1865840, Bug 1866565, and Bug 1859791)

WebExtensions Framework

  • In preparation for the work related to sync loading about:blank, we applied a small tweak to the tabs API internals to prevent it to emit tab events for a tab still being adopted - Bug 1859490

  • Changed amIAddonManagerStartup encodeBlob to throw an NS_ERROR_OUT_OF_MEMORY error instead of triggering a crash when it fails internally (encodeBlob is used internally to encode the extensions and DNR rules startupCache files data) - Bug 1862172

WebExtension APIs

  • Thanks to Brad Werth for investigating and fixing Bug 1854820, a regression hit on macOS and Linux on browser.windows.update calls targeting windows being restored from a minimized state (due to an internal crude hack/workaround for issues on macOS, which was now conflicting with the more compressive fix for the underlying issue introduced by Bug 1631735)

Developer Tools

DevTools

  • Hubert also fixed an issue where offline modein Netmonitor was not reset properly (bug)

  • Hubert made total transferred size to not include service worker requests (bug)

  • Nicolas added selector warnings ro unconstrained :has() in Rules view (bug)

  • Nicolas added icon to select elements referenced in idref/idreflist attributes (bug)

  • Nicolas Add link capability to invoketarget attributes (bug)

    • Invokers behind dom.element.invokers.enabled

  • Alex added a toggle to enable/disable all debugger statements (bug)

  • Hubert added warnings in the debugger when mapping variables is disabled (bug)

  • Alex added experimental feature to debug service workers directly from the Debugger (bug)

    • behind devtools.debugger.features.windowless-service-workers

    • looking for feedback

  • Alex added the unload and beforeunload events in the event listeners breakpoint panel (bug)

  • Nicolas added the invoke event in the event listeners breakpoint panel (bug)

  • Nicolas fixed DOM mutation breakpoints after page reload (bug)

  • Alex added a :trace a console command to toggle JavaScript tracing (bug)

  • Nicolas fixed a few accessibility issues in the toolbox

    • When editing selector/property name/property values, the Enter key won't trigger a new edit on the next property, which is still possible (and more consistent/explicit) with Tab (bug)

    • Made Property-toggle checkboxes keyboard accessible (bug)

    • Made grid highlighter color picker keyboard accessible (bug)

    • Made selector highlighter icon keyboard accessible (bug)

    • Made "Filter rules containing this property" keyboard accessible (bug)

    • Added focus indicator in JSON viewer (bug)

    • Added focus indicator in Tabs component (bug)

    • Added focus indicator on Spectrum sliders (bug)

    • Fixed highlighted properties color contrast (bug)

    • Fixed contrast for Pseudo class in selector (e.g. :hover) (bug)

    • Fixed color contrast for search/filter input label/placeholder (bug)

    • Strike through unmatched selectors instead of only displaying the selector with a dimmer color (bug)

    • Add label to Object Inspector toggle button (bug)

WebDriver BiDi

  • Sasha added the "browsingContext.traverseHistory" command, which allows clients to go back and forward in the history by a given delta (bug).

  • Henrik incorporated the latest Puppeteer v21.5.2 into mozilla-central, resulting in an increase in the number of passing unit tests by 46 (to a total of 571). This places us just 3 tests away from reaching the milestone for the experimental status announcement (bug)

  • Henrik fixed a regression in Marionette which caused the “GetElementText” command to return an empty string for elements within a ShadowDOM utilizing a slot (bug)

Desktop Integrations

Downloads Panel

Credential Management

Fluent

Form Autofill

ESMification status

  • Report broken site feature has been reworked and removed their remaining use of jsm.

  • ESMified status:

    • browser: 89%

    • toolkit: 99%

    • Total: 96.41% (up from 96.33%)

  • #esmification on Matrix

Lint, Docs and Workflow

  • Source doc generation should now fail with a fatal error if referenced files are missing. Previously these were only treated as warnings, and hence some docs were missing the intended elements.

Information Management

  • We landed a patch for Bug 1863783 - Switching tabs is slow because of Firefox View

    • Firefox view monitors open tabs, recently-closed tabs, history and synced tabs to render its lists. This patch ensures that no updates happen when firefox view is hidden, and when it is open, only the components that are visible will update and render.

    • We’re verifying this fix before uplifting to 120. Please let us know if you see anything untoward. We’re in #firefox-view:mozilla.org on matrix, #fx-desktop-dev:mozilla.org also works, or file a bug.

macOS Spotlight

Migration Improvements

  • The SUMO device migration page now lets users send themselves emails or set up calendar events to remind themselves to download and install Firefox on their new devices

    • We’re working on another batch of Spotlight messages for users without an account but with a lot of stored local data to consider setting up an account / sync.

  • Investigations are underway to see if we can introduce the ability to backup some portions of your Firefox profile to a separate file. We’re also looking at ways we can integrate with the Windows Backup feature.

New Tab Page

Nimbus / Experiments

Password Manager

PDFs & Printing

Picture-in-Picture

Performance

Performance Tools (aka Firefox Profiler)

Search and Navigation

  • URL Paste Suggestions

    • <quick demo>

    • The URL Paste Suggestion feature is now enabled by default in the Nightly version of Firefox. This enhancement provides a convenient way for users to quickly visit URLs copied to the clipboard in the address bar of desktop Firefox. When the clipboard contains a URL, and the user focuses the URL bar, an autocomplete result appears automatically. Activating the clipboard suggestion will navigate the user to the URL with 1 click.

    • 1494x276px

    • screenshot

  • Notable bug fixes

  • Work continues on search configuration improvements, search engine result page telemetry and other activities.

Storybook/Reusable Components

This week I learned

  • [mconley] Generated.txt is a file where you can list generated files that can be ignored by ESLint, stylelint and clang-plugin. Instead of updating .eslintignore or .stylelintignore, just add the things to be ignored to Generated.txt

    • BUT Prettier is separate, and so if you want it to be ignored by Prettier, you still need to update .prettierignore.

    • Similar file: ThirdPartyPaths.txt

  • [dmose] Are projects other than reusable components using Storybook?