HTTP fixes, arm64 support, custom servers, update check and release CI - #9
Open
BKPepe wants to merge 11 commits into
Open
HTTP fixes, arm64 support, custom servers, update check and release CI#9BKPepe wants to merge 11 commits into
BKPepe wants to merge 11 commits into
Conversation
Collaborator
|
Hi @BKPepe |
BKPepe
force-pushed
the
feature/desktop-improvements
branch
from
August 10, 2026 08:27
1fc9478 to
a50bf9f
Compare
BKPepe
force-pushed
the
feature/desktop-improvements
branch
3 times, most recently
from
August 25, 2026 07:12
2d1e24c to
6bae55b
Compare
Member
Author
|
@sudodios kind ping. :) |
BKPepe
force-pushed
the
feature/desktop-improvements
branch
from
September 2, 2026 13:20
6bae55b to
139c908
Compare
Fix malformed request headers and accept successful responses regardless of the status reason phrase. Keep the path of the server URL, so servers listed as https://host/backend work. Send each request in one write and report the full round trip as ping: halving it used to hide the round trip that Nagle's algorithm added to the separate writes. Leave the upload send buffer at the socket default; the fixed 16 KB capped every stream at about 32 KB per round trip, so Frankfurt read 31 instead of about 500 Mbit/s. The random payload is built once per process.
The vendored jar lacked arm64 natives and jpackage on macOS needs an .icns icon. Pass version and build date to the runtime and follow the OS address ordering for IPv4/IPv6 connections. Ship only this platform's native library from the jar; the build fails if none matches.
Prefer the tested server's own results backend and only fall back to the configured central endpoint. Server selection pings 16 servers at once instead of 6 and stops pinging a server as soon as it cannot beat the best one; the official list takes about 2 s instead of 5 s. Stop closes the IP lookup connection instead of waiting out its timeouts.
Best-effort platform detection of Wi-Fi generation or Ethernet, shown instead of the bare interface name and without blocking the UI.
Store the share URL with a database migration, add a row detail dialog and sortable columns, and stop clipping cell text. History is read on an IO thread, so the transition stays smooth.
Allow users to persist self-hosted LibreSpeed servers and include them in server selection. The history row is saved on an IO thread, so the result screen does not wait for SQLite.
Check GitHub releases in the background and show an in-app About dialog with version, build date and project links.
Native menu with Show History and Export to CSV.
Keep charts clear of the card texts and only offer share URL actions when a result URL exists.
Build Linux, macOS and Windows packages for x86_64 and arm64 and draft a release on tags.
The client announced itself as Librespeed-Desktop/1.0 whatever it was: the version was a constant no release updated, and the header said nothing about the machine, so an operator could not tell Windows from macOS apart in their telemetry. Build the header instead -- <product>/<version> (<os>; <arch>), the shape the LibreSpeed CLIs and the Android client send -- taking the version from the -Dapp.version the packaging already passes, and saying dev when it is absent rather than claiming a release. Add the first tests in this project to cover the shape, the build version, and the header as a server actually receives it off a socket.
BKPepe
force-pushed
the
feature/desktop-improvements
branch
from
September 2, 2026 19:25
139c908 to
3c9c131
Compare
Member
Author
|
@sudodios Gentle reminder |
Collaborator
|
@BKPepe Thank you very much. |
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.
What this changes
This branch improves the desktop client across networking, server selection, history, UI and packaging:
sqlite-jdbcartifact and correct macOS icon packaging.Testing
Tested on macOS Apple Silicon, including IPv6, custom servers, telemetry, history and export.
Linux and Windows were not tested on real hardware; release CI builds all target platforms.
Known limitations
netshoutput.backend/+results/layout.