Skip to content

block[speedtest]: Use networkquality-rs#2248

Open
bim9262 wants to merge 1 commit into
greshake:masterfrom
bim9262:speedtest
Open

block[speedtest]: Use networkquality-rs#2248
bim9262 wants to merge 1 commit into
greshake:masterfrom
bim9262:speedtest

Conversation

@bim9262

@bim9262 bim9262 commented Feb 26, 2026

Copy link
Copy Markdown
Collaborator

The speedtest block was using speedtest-cli which has been become archived and is no longer maintained.

This commit replaces speedtest-cli with networkquality-rs.

Note that this requires cmake to be installed.
I had to switch over to rustls as not doing so causes linking errors.
The new version of reqwest moved to rustls, so we'll move in that direction anyways.

The nq crates are not published on crates.io so they are being checked out directly from github.

Resolves #2245

@bim9262

bim9262 commented Feb 26, 2026

Copy link
Copy Markdown
Collaborator Author

@snaeil feel free to provide your feedback!

@snaeil

snaeil commented Feb 26, 2026

Copy link
Copy Markdown

@bim9262 I am not yet familiar with the repo but overall looks good to me. Since the commit message is almost conventional I would how you deal with breaking changes here and whether there's a need to make this clear somewhere

@bim9262

bim9262 commented Mar 4, 2026

Copy link
Copy Markdown
Collaborator Author

@snaeil , I assume you're refering to the addition of speedtest_args to Config.
We'll note that in NEWS.md that the block depends on network networkquality-rs instead of speedtest-cli.
We don't usually note changes to the config specifically, unless they're breaking from the perspective of a user of the binary.

@bim9262

bim9262 commented Mar 4, 2026

Copy link
Copy Markdown
Collaborator Author

I've reached out in cloudflare/networkquality-rs#38 to see if it's possible for the crates to be published to crates.io instead of pulling directly from github.

The speedtest block was using speedtest-cli (https://github.com/sivel/speedtest-cli)
which has been become archived and is no longer maintained.

This commit replaces speedtest-cli with networkquality-rs (https://github.com/cloudflare/networkquality-rs).

Resolves greshake#2245
@bim9262

bim9262 commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator Author

@ammgws, I know that we generally don't like having git repos as a source for a crate. As this this crate won't be used as another source by another crate do you feel that changes the calculus?

Another idea would be to fork the repo, then rename the crates to be prefixed by i3status- , and then publish those crates.

@ammgws

ammgws commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

We've done it before but for projects maintained by us. In this case however, is there a rush to move on from speedtest-cli crate even if it's archived? It still works, right? Maybe by the time it actually becomes an issue then cloudflare has published crates for their repo 🤷

@bim9262

bim9262 commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator Author

I guess it's only a problem in that if there is a CVE for any of the dependencies for speedtest-cli there won't be any update to speedtest-cli itself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

speedtest is discontinued

3 participants