Skip to content

feat(speedtest): add Ookla Speedtest extension#228

Open
Oztturk wants to merge 2 commits intovicinaehq:mainfrom
Oztturk:feat/speedtest-extension
Open

feat(speedtest): add Ookla Speedtest extension#228
Oztturk wants to merge 2 commits intovicinaehq:mainfrom
Oztturk:feat/speedtest-extension

Conversation

@Oztturk
Copy link
Copy Markdown

@Oztturk Oztturk commented Mar 28, 2026

Summary

  • Adds a new Speedtest extension using the official Ookla Speedtest CLI (ookla-speedtest-bin)
  • Real-time animated bar chart (SVG) showing live download and upload speeds as the test runs
  • Uses --format=jsonl streaming to update the UI on every bandwidth sample (~100ms intervals)
  • Blue bar for download, fuchsia/pink-purple bar for upload
  • Metadata panel shows ping, jitter, packet loss, latency IQM, ISP and server info
  • Share URL opens the result on speedtest.net

Requirements

The user must have the Ookla Speedtest CLI installed:

paru -S ookla-speedtest-bin

The extension handles the missing CLI gracefully with an error message and install instructions.

Test plan

  • Run the extension — bar chart animates in real-time during download and upload phases
  • Final results show correct Mbps values (verified against speedtest.net website)
  • Ping / jitter / packet loss shown correctly in metadata panel
  • "Open Result in Browser" action opens the share URL
  • Copy download/upload speed actions work
  • Run Again (⌘R) reruns the test
  • Missing CLI shows helpful error message

🤖 Generated with Claude Code

Real-time internet speed test using the official Ookla Speedtest CLI.
Displays live download/upload speeds with an animated SVG bar chart
(blue for download, fuchsia for upload) updated via jsonl streaming.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Oztturk
Copy link
Copy Markdown
Author

Oztturk commented Mar 28, 2026

I dont write code anymore claude writes it better than I do🤑🤑🤑

Copy link
Copy Markdown
Contributor

@aurelleb aurelleb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it doesn't work for me, it's just stuck on this view, with no error message in the UI or in the console:
image

let lineBuffer = "";
let stderrBuffer = "";

const proc = spawn("speedtest", ["--format=jsonl", "--accept-license", "--accept-gdpr"]);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you need to check whether the executable exists before this, and display an appropriate error message. Do not check the output of the spawn call to figure out whether the executable was found or not, that's very unreliable.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My bad i fixed the issue and pushed a new commit. Thanks for the correction. Please let me know if i missed anything else

@Oztturk Oztturk force-pushed the feat/speedtest-extension branch from 1d452ff to c8bfee0 Compare April 12, 2026 19:19
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.

2 participants