Repository navigation
Releases: write-erase/packet-slapper
Releases · write-erase/packet-slapper
Release list
v1.0.4
Small cleanups and hardening
- The plugin now keeps the Ookla speedtest CLI up to date by itself. On the first speedtest after Dispatcharr starts, it checks Ookla's download server for a newer release and installs it, so a restart is all it takes. A new release is test-started before it replaces the working one, and if the check or download fails the installed CLI keeps being used.
SPEEDTEST_CLI_VERSIONis gone;SPEEDTEST_CLI_BASE_VERSIONis only the starting point for a first install. - The default timezone is now UTC instead of US Central. Installs that already saved a timezone keep it; installs that never touched the setting will now see UTC.
- The Discord webhook response is now closed after each post instead of being left for garbage collection.
- The "can't read saved settings" warning now says what it actually knows (no saved settings found, or the database is unreachable), and it can fire again if the problem comes back.
- Removed an unused
statimport. - A scheduled run that is skipped because someone is watching now retries after 30 minutes instead of waiting a full interval (never longer than the interval itself).
- Skipped runs no longer replace the last real result in Status. Status shows "Last run" for the last actual test, plus a separate note such as "Skipped 3 times in a row because someone was watching". After three skips in a row it suggests the Check Active Streams button, in case something is being detected that shouldn't be. A real run resets the count.
- Status now shows which speedtest CLI version is installed.
- The "check that Dispatcharr can reach install.speedtest.net" hint now appears only on download failures, not when a new CLI fails its startup test.
- The settings the background scheduler falls back on are now swapped in one step instead of cleared and refilled, which removes a very small window where the scheduler could see them empty.
v1.0.3
- Fixed an issue where the plugin in Dispatcharr still showed version 1.0.1.
v1.0.2
v1.0.1
- Packet loss shows N/A when the Ookla server doesn't report it. It used to show 0%, which isn't the same thing.
- Discord embed fields are inline now, so the card is two rows of three instead of one tall stack. That was the original layout, it just never got switched on.
- Plain-text Discord error messages are cut at 1900 characters. A long error could go over Discord's 2000 limit and get rejected.
- Server ID only accepts 0-9.
str.isdigit()lets things like superscript digits through. - The speedtest CLI gets re-downloaded when
SPEEDTEST_CLI_VERSIONchanges. The installed version is saved inbin/speedtest.version. Upgrading from 1.0.0 does one fresh download since there's no version file yet. - The CLI is written to a temp file in
bin/and swapped in withos.replace, so a download that dies partway can't leave a brokenspeedtestthat passes the executable check forever. - The downloaded CLI is created with mode 0700 instead of being chmod'd to 0755 afterwards, so it isn't world-readable or executable. This was the CodeQL
py/overly-permissive-filealert. - The speedtest CLI is read out of the tarball with
extractfileinstead ofextract, and anything that isn't a regular file namedspeedtestis rejected. This was the CodeQL tarfile extraction alert, and it also drops the fallback for Pythons without extraction filters. - If the settings can't be read from the DB and nobody has clicked a button yet, the scheduler waits and tries again instead of assuming it's enabled.
stop()also clears the cached settings. - A scheduled run that finds another test already running retries after 60 seconds. Before, it waited a full interval, which on a 24 hour schedule means a lost day.
- Removed the Tips entry from
actionsin plugin.json. It isn't an action, so it showed up as a button that did nothing but return "Unknown action". The Scheduler Status and Run Now descriptions already say the same thing.
Initial Release
Add initial Packet Slapper app files
Add the initial project files and structure for the Packet Slapper app.