firefox-ios
firefox-ios copied to clipboard
Refactor FXIOS-21470 - Add Multipath TCP (MPTCP) support
MPTCP is a TCP extension allowing to improve network reliabilty by using mutiple network interface for the same TCP connection. Check https://www.mptcp.dev and https://developer.apple.com/documentation/foundation/urlsessionconfiguration/improving_network_reliability_using_multipath_tcp for details. Changes to this repository includes introducing new configurations (defaultMPTCP/ephemeralMPTCP), replacing uses of default/ephemeral by these new configurations, introducing a sharedMPTCP property on URLSession and modifying the makeURL function to enable the handover mode by default
:scroll: Tickets
:bulb: Description
:pencil: Checklist
You have to check all boxes before merging
- [x] Filled in the above information (tickets numbers and description of your work)
- [X] Updated the PR name to follow our PR naming guidelines
- [X] Wrote unit tests and/or ensured the tests suite is passing
- [X] When working on UI, I checked and implemented accessibility (minimum Dynamic Text and VoiceOver)
- [X] If needed, I updated documentation / comments for complex code and public methods
- [X] If needed, added a backport comment (example
@Mergifyio backport release/v120)
Thanks for this PR @Aperence. Might be good to get some extra eyes on this (cc @nbhasin2).
@Aperence I see the following tests failing, would you mind looking into it and let us know if any support is required
Hello, I've fixed the issues with these tests normally
| Messages | |
|---|---|
| :book: | Project coverage: 31.56% |
| :book: | Edited 18 files |
| :book: | Created 2 files |
Client.app: Coverage: 30.09
| File | Coverage | |
|---|---|---|
| BrowserViewController.swift | 5.07% | ⚠️ |
| TemporaryDocument.swift | 0.0% | ⚠️ |
| URLSessionConfiguration+defaultMPTCP.swift | 100.0% | ✅ |
| PocketProvider.swift | 86.21% | ✅ |
| WallpaperNetworkModule.swift | 100.0% | ✅ |
| DownloadQueue.swift | 50.15% | ✅ |
| BreachAlertsClient.swift | 0.0% | ⚠️ |
| ActionProviderBuilder.swift | 0.0% | ⚠️ |
| SearchSuggestClient.swift | 72.45% | ✅ |
| ContileProvider.swift | 90.91% | ✅ |
| OpenPassBookHelper.swift | 0.0% | ⚠️ |
Generated by :no_entry_sign: Danger Swift against ea7dc4825dff457cd780d8d8da93ce8e2d7e21fd
This pull request has conflicts when rebasing. Could you fix it @Aperence? 🙏
Rebased it normally !
This PR has been automatically marked as stale. Please leave any comment to keep this PR opened. It will be closed automatically if no further update occurs in the next 7 days. Thank you for your contributions!
Any news about this ?
Just applied the requested change. It probably isn't enabled by default because some time ago, some other options weren't (well) supported with MPTCP (from what I know), and they probably never reconsidered up to now to enable it by default.
Running BR and if all looks well I can merge it in 🤞🏼
@Aperence might wanna rebase this one last time as you have approvals but there are certain number of warnings that are more on this PR compared to main.
Thanks and once green I can hit merge
Just rebased it now, hope it will fix the warnings