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
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
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>
1887611: Implement URL.parse()
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
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
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]
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:
Extending native DNS API’s to support HTTPS RR, increasing HTTPS usage and ECH support when Firefox performs native DNS lookups. Targeting Q3 2024.
Interop 2024 URL is progressing well, targeting Q4 2024.
Firefox/Chrome networking benchmark framework is on track to complete Q3 2024.
Fetch keepalive support is on track to complete Q3 2024.
3rd party cookie deprecation - support for limiting size of partition store size is on track to complete Q4 2024.
HTTP Priorities support is on track to complete Q3 2024.
Fast UDP I/O in Firefox is on track to complete in Q3 2024.
We resolved the issue where downloading Firefox updates would make the browser unresponsive:
We backed out HTTPS RR (which landed in 1852752 - Allow resolving HTTPS (or arbitrary record types) RR with native DNS (without TRR) ) due to performance regressions in Bug 1893970 , and re-landed for 127 (and it should ride the trains there) in Bug 1898191 and Bug 1895226 “Don't perform native HTTPS lookups if network doesn't support them.”
Bug 1891349 (CVE-2024-5699) “Firefox doesn't treat cookie name prefixes as case-insensitive” fixed a minor security issue
Fixed a series of cookie bugs:
Fixed an issue with DoH that could cause 30s delays on startup: bug 1885801 Secure DNS causes delayed website loading at startup
Fixed a 10 second delay accessing .local domains in Bug 1893944
A large numbers of TCP RSTs could cause Firefox to hang or be very janky; fixed in Bug 1719046
In Bug 1816539 we increased the number of sockets available for speculative connections from 6 to 20, which shows improvements in sites known to work with speculative connections. We might increase it to 30 in the future
We resolved a significant cause of UI/mainthread jank when downloading updates in the background in Bug 1510262; a bug which had been open for 6 years.
Fixed a number of network URL parsing issues
In total, we closed 225 bugs as Fixed
Work week in Berlin, hack day and strategy session
The Necko team had a very successful work week in Berlin in conjunction with the rest of Security and Privacy, and in the same time/place as the DOM team.
We had a ‘hack day’, which included building a prototype for a system to submit Network logs and other data with PII to the networking team, and avoid asking users to email logs. In addition two team members completed the bulk of the work to move search header interception into Necko, resulting in significant performance win on Android.
Bug Bash Day
Total Bugs updated: 197(7 off team)
Closed: 41 (3 off team)!
14 fixed
6 invalid
11 won’t fix
8 works for me
1 duplicate
4 incomplete