Conversation
Add a prolonged ping-based stability test with real-time canvas chart, stats (avg/min/max/jitter/packet loss), stability rating, external ping targets, CSV export, and Docker support. Link from main page to stability test. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Review Summary by QodoAdd internet stability test with real-time ping monitoring
WalkthroughsDescription• Add prolonged ping-based internet stability test with real-time canvas chart • Implement Web Worker for continuous background pinging with configurable targets • Display live statistics (current/avg/min/max ping, jitter, packet loss, elapsed time) • Provide stability rating system (Great/Good/Poor/Bad) based on connection metrics • Support external ping targets (Google, Cloudflare, Apple) via fetch no-cors mode • Add alert threshold with audio notification when ping exceeds threshold • Enable CSV export of all ping data points for analysis • Include dark mode support and responsive design • Add bidirectional navigation between speed test and stability test pages • Update Docker configuration and package.json to include new stability test files Diagramflowchart LR
UI["stability.html<br/>UI & Chart"]
Worker["stability_worker.js<br/>Ping Worker"]
Backend["Backend/External<br/>Ping Targets"]
Export["CSV Export<br/>& Alerts"]
UI -- "start/status/abort" --> Worker
Worker -- "continuous pings" --> Backend
Worker -- "delta data" --> UI
UI -- "threshold check" --> Export
UI -- "navigation link" --> MainPage["Speed Test<br/>index.html"]
File Changes1. stability.html
|
Code Review by Qodo
1.
|
- Load server list dynamically from servers.json for Docker frontend/dual modes - Copy servers.json to web root in entrypoint.sh for frontend/dual modes - Change back link from href="/" to href="./" for subdirectory installs - Use binary search for visible chart data range (O(log n) vs O(n)) - Add 200ms minimum interval between pings to limit sample rate Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Thanks for the review! All three issues have been addressed in the latest commit (6f1d8c5):
|
Closes #758
Summary
Adds a prolonged ping-based internet stability test to LibreSpeed, providing users with a tool to monitor and diagnose connection quality over time — similar to packetstats.com.
stability.html— Self-contained page with real-time canvas line chart, live stats (current/avg/min/max ping, jitter, packet loss), stability rating (Great/Good/Poor/Bad), alert threshold with audio notification, and CSV exportstability_worker.js— Web Worker that continuously pings the backend (or external hosts like Google/Cloudflare/Apple viafetchno-cors) and reports delta ping data to the UIFeatures
fetchwithmode: "no-cors")prefers-color-scheme: darkFiles changed
stability_worker.jsstability.htmlDockerfilestability.htmlinto imageDockerfile.alpinestability.htmlinto imagedocker/entrypoint.shstability.htmlto web rootdocker/ui.phppackage.jsonstability_worker.jsto lint/filesTest plan
stability.htmland start a test — verify pings appear in real-time on the chart🤖 Generated with Claude Code