Necko Newsletter Q2 2024

75 views
Skip to first unread message

Gregory Hess

unread,
Jun 28, 2024, 4:18:49 PM (5 days ago) Jun 28
to dev-pl...@lists.mozilla.org, Necko

Highlights

  • Sean Kim, a student worker from UoT has joined the Necko team. Welcome!

  • Max Inden is joining the Necko team as a contract worker to help improve UDP I/O. Welcome!

  • Manuel, a student worker, has now been hired as a full-time employee and is working with the privacy team.

  • In bug 1356686, decompression was moved off the MainThread for most loads, resulting in significant performance improvements on CI pageload metrics, with up to 46% speedindex gains and up to 56% improvements in FCP without regressions.

  • In bug 1883496, we recently implemented a patch that moved search header interception from GeckoView to Necko, resulting in 13-24% improvements in Speed Index for Google searches on Android devices.

  • We landed support for Zstd (ZStandard) decompression in Bug 1871963.  This is used heavily by all Meta websites (Facebook, Instagram, etc) and will likely rapidly be picked up by other sites since Chrome just shipped support

  • We moved search header interception into Necko in Bug 1883496, resulting in 13-23% improvements in google search speed tests on android

Friends of Necko

We had quite a few new and known community members contribute to our Necko code base. We are happy about everyone that wants to get involved. Reporting bugs, submitting logs, and also patches are all highly valued by us. You can take a look at our good-first-bugs and also reach out to us at matrix #necko:mozilla.org if you want to start getting more involved.


Setting up the toolchain can be quite challenging. Therefore, we sometimes have good-first-bugs that give you the opportunity to just test out the toolchain.


Thank you all for helping improve Firefox Networking!!


  • New contributors to rust-url 2.5.1 

  • Masatoshi Kimura <VYV0...@nifty.ne.jp>

    • 1891926: "Use system Web Proxy Auto-Discovery setting" checkbox is not shown even if "network.proxy.system_wpad.allowed" is set to true

  • Alexandra Borovova <abor...@mozilla.com>

    • 1898129: Perma [tier 2] /fetch/api/abort/serviceworker-intercepted.https.html | response.bytes() rejects if already aborted - promise_test: Unhandled rejection with value: object "TypeError: response[bodyMethod] is not a function"

    • 1897959: Perma /client-hints/sec-ch-width.https.html | Sec-CH-Width should be set - assert_equals: expected 100 but got 1

  • Bob Owen <bobow...@gmail.com>

    • 1892226: Use inet_ntop directly on Windows to prevent mswsock.dll load.

  • Andrew Sutherland <bug...@asutherland.org>

    • 1900681: XMLHttpRequestMainThread::DisconnectFromOwner should not call Abort for mForWorker XHRs because it double-clocks the state machine

  • Christoph Moench-Tegeder <c...@burggraben.net>

    • 1890593: breakage after "button to allow WPAD while using system proxy settings" (#621429)

  • Andrew McCreight <contin...@gmail.com>

    • 1899863: Extremely frequent PNecko::Msg_CancelHTMLDNSPrefetch log spam

  • Chris Peterson <cpet...@mozilla.com>

    • 1894429: Spoof "Android 10" OS version in Firefox Android’s User-Agent string on Android versions <= 10

    • 1873273: Freeze UA string and navigator.platform on 32-bit x86 Linux to match Chrome's frozen navigator.platform ("Linux x86_64")

  • endington543 <danielm...@gmail.com>

    • 1820570: Intermittent netwerk/test/unit/test_progress_no_proxy_and_proxy.js | single tracking bug

  • Emilio Cobos Álvarez  <emi...@crisal.io>

    • 1889590: Make cache DB use UTF8 string for referrer.

    • 1887719: More consistently use UTF8String/nsCString for URLs

  • evil...@gmail.com

    • 1896475: Implement Request/Response .bytes() method

  • Frederik Braun <fbr...@mozilla.com>

    • 1897132: make netwerk/test/browser/browser_dns_prefetch_link_header.js work with https-first

  • Frédéric Wang  <fw...@igalia.com>

    • 1900764: urgency of fonts in fetchpriority-urgency.h2.html are not affected by fetchpriority

    • 1892734: Add tests for checking the priority set in our HTTP requests

    • 1881040: Use the destination to refine the fetchpriority mapping of FetchDriver::HttpFetch

    • 1882548: Enable "fetchpriority" feature by default in nightly

    • 1882084: Support fetchpriority in Early Hints preloader

    • 1901220: Perma TEST-UNEXPECTED-FAIL | /_mozilla/fetch/fetchpriority/fetchpriority-urgency.h2.html | Adjustment of urgency parameter for <...> when Gecko 128 merges to beta on 2024-06-10

  • Gijs  <gijskruit...@gmail.com>

    • 1881800: Make credentialed network fetches with system (chrome) principals opt-in (ie default to credentials: omit)

  • Gregory Pappas <gr...@tutanota.de>

  • Henri Sivonen  <hsiv...@mozilla.com>

    • 1886953: Introduce deCOMtaminated IDNA functions and benchmark them

    • 1894212: Bench IDNA via URL parsing

  • Julian Descottes <jdesc...@mozilla.com>

    • 1892440: Expose chrome only method to flip HttpChannel's StoreRequestObserversCalled

    • 1899563: Perform SW upgrade before http-on-before-connect

    • 1899291: Improve channelId generation code to avoid clashes between tabs with identical pID

    • 1895198: Move the assert !LoadWasOpened() in HttpBaseChannel::ExplicitSetUploadStreamLength to HttpChannelChild

  • John Schanck <jsch...@mozilla.com>

    • 1892528: Enable Xyber768 in Http/3 TLS handshakes under a pref

  • Robert Longson <long...@gmail.com>

    • 1891349: Firefox doesn't treat cookie name prefixes as case-insensitive

    • 1891941: Use StringBeginsWith in CookieService

    • 1892748: Reject most control characters in cookie attributes

    • 1892450: Perma Late Beta TEST-UNEXPECTED-PASS | /cookies/prefix/__secure.header.https.html | __SeCuRe: secure origin: Should not set 'Path=/;domain=not-web-platform.test' - expected FAIL | when Gecko 127 switches from Early Beta to Late Beta on 2024-05-24

  • Leander Schwarz <lsch...@mozilla.com>

    • 1893480: Perma /cookies/third-party-cookies/third-party-cookies.tentative.https.html | 3P fetch: Cookies are not accessible via HTTP - assert_equals: Expected cookie 1P_http to not be available expected false but got true

  • Max Inden <ma...@max-inden.de>

    • 1895319: refactor http3server to use neqo-bin for I/O, timers, event-loop etc.

  • Manuel Bucher <man...@mozilla.com>

    • 1897050: Remove or update metrics expiring in Firefox 129: networking.proxy_info_type before Gecko version gets increased to 129 on 2024-06-10

    • 1454850: Mislabelled options relating to SOCKS4, SOCKS5 and server-side DNS resolution

    • 1741375: Proxy DNS by default when using SOCKS v5

  • Mike Conley  <mco...@mozilla.com>

    • 1896929: Allow nsInputStreamChannel to have an arbitrary content type set on it

  • Mika Valkealahti <mika.val...@hotmail.fi>

    • 1879304: Remove mention of FTP in ContentParent

  • mike.mak...@gmail.com

    • 1883282: Log message incorrectly logs split string parts

  • Neel Chauhan <ne...@neelc.org>

    • 1855652: Remove unused nsDownloader and IncrementalDownloader

  • Nika Layzell  <ni...@thelayzells.com>

    • 1718673: text/event-stream mime type starts downloading instead of streaming content

  • serfree...@gmail.com

    • 1810362: Firefox does not seem to support IPv6 unless DNS-over-HTTPS is enabled

  • Thomas Wisniewski <twisn...@mozilla.com>

    • 1893257: Firefox-only failures in WPT fetch/http-cache/cache-mode.any.js

    • 1886757: network.dns.localdomains does not apply to FQDN

    • 1893219: Failing WPT fetch/content-length/too-long.window.html

    • 1491010: [Fetch API] Headers.get("WWW-Authenticate") does not return anything, if server sends more than one such header

    • 1889075: New wpt crashes in /fetch/api/request/ [request-bad-port.any.worker.html, request-bad-port.any.html, request-bad-port.any.sharedworker.html]


Project Updates

Q2 2024 has been a busy with many started and completed projects:


Completed:

  • Optimized speculative connection socket pool shipped in Fx126 - showing significant improvements in sub-resource connection times (35-68%) and first byte sent (15-45%).

  • Decompression(gzip and brotli) have been moved off main thread(OMT) in Fx126 reducing FCP and LCP by 10%.

  • Support for zstd compression shipped in Fx126, enabling pages to load faster and/or use less bandwidth, which can be especially important for mobile users and users with limited data plans. 

  • We optimized and enabled Firefox’s support for <link rel=dns-prefetch> in Fx127, allowing sites to prefetch key domains on https documents


In progress:

Below the fold

Reply all
Reply to author
Forward
0 new messages