Repository navigation
Update libSession to 1.9.4 and cap the QUIC UDP payload at 1372 - #810
Merged
mpretty-cyro merged 1 commit intoOct 8, 2026
Merged
mpretty-cyro merged 1 commit into
mpretty-cyro merged 1 commit into
Conversation
1.9.4 adds quic_max_udp_payload. Setting it replaces quic_disable_mtu_discovery, which pinned datagrams to the 1200-byte minimum and advertised that as the client's maximum. Path-MTU discovery can now grow up to 1372 bytes, but no further.
mpretty-cyro
force-pushed
the
fix/libsession-1.9.3-quic-payload
branch
from
October 7, 2026 04:15
0be41f1 to
1af286c
Compare
mpretty-cyro
marked this pull request as ready for review
October 7, 2026 04:16
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
libsession-util-spmfrom 1.9.2 to 1.9.4 (exactVersionin the project;Package.resolved→1743d909e49a).config.quic_disable_mtu_discovery = truewithconfig.quic_max_udp_payload = 1372inLibSession+Networking.swift.quic_max_udp_payloadis new in libsession 1.9.3/1.9.4 (a9bafa6c, "Add opt::quic_max_udp_payload"). When non-zero it takes precedence overquic_disable_mtu_discovery, which with libquic 1.11 amounts to a hard 1200-byte cap. With that cap, the client also advertises 1200 as its maximum UDP payload, so service nodes send it smaller packets, which probably slows downloads. The new setting still prevents oversized datagrams, which some mobile networks silently drop, but lets path-MTU discovery go up to 1372 bytes.1.9.4 is used rather than 1.9.3 because the 1.9.3 xcframework doesn't link: it shipped without its bundled dependencies. That was fixed in session-foundation/libsession#181.
The 1.9.4 package relies on the system
iconv: its modulemap autolinks it for the SPM path, and #809 covers the build-from-source path.Verification
Xcode 27.0 (27A266a), iPhone 17 simulator, iOS 27.0, on
dev048c84636c:link "iconv"in its modulemap. The Session 2.0 regression build also built it independently.SessionTests,SessionMessagingKitTests,SessionNetworkingKitTests,SessionUtilitiesKitTests,SessionUIKitTests) against the published 1.9.4 package at1af286ce8d: 2252/2252 passed, 0 failed.ThreadDisappearingMessagesSettingsViewModelSpecis flaky on 1.9.2 too (4 of 5 runs fail), so one red run of it isn't caused by this change.