diff --git a/Cargo.lock b/Cargo.lock index 4cd6f5c..ee90a47 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1089,7 +1089,7 @@ dependencies = [ [[package]] name = "hound" -version = "0.1.11" +version = "0.1.12" dependencies = [ "anyhow", "clap", @@ -1104,7 +1104,7 @@ dependencies = [ [[package]] name = "hound-api" -version = "0.1.11" +version = "0.1.12" dependencies = [ "anyhow", "serde", @@ -1114,7 +1114,7 @@ dependencies = [ [[package]] name = "hound-defs" -version = "0.1.11" +version = "0.1.12" dependencies = [ "ed25519-dalek", "serde", @@ -1124,7 +1124,7 @@ dependencies = [ [[package]] name = "hound-mcp" -version = "0.1.11" +version = "0.1.12" dependencies = [ "hound-api", "hound-supply", @@ -1134,7 +1134,7 @@ dependencies = [ [[package]] name = "hound-supply" -version = "0.1.11" +version = "0.1.12" dependencies = [ "flate2", "hound-defs", @@ -1145,7 +1145,7 @@ dependencies = [ [[package]] name = "hound-watch" -version = "0.1.11" +version = "0.1.12" dependencies = [ "anyhow", "hound-supply", @@ -1156,7 +1156,7 @@ dependencies = [ [[package]] name = "houndd" -version = "0.1.11" +version = "0.1.12" dependencies = [ "anyhow", "ed25519-dalek", diff --git a/Cargo.toml b/Cargo.toml index 165c7be..259bd2d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ resolver = "2" members = ["crates/*"] [workspace.package] -version = "0.1.11" +version = "0.1.12" edition = "2021" license = "MIT" repository = "https://git.joelovestech.com/Hound/Antivirus.git" diff --git a/gui/package.json b/gui/package.json index 1cae62d..2169deb 100644 --- a/gui/package.json +++ b/gui/package.json @@ -1,6 +1,6 @@ { "name": "hound-gui", - "version": "0.1.11", + "version": "0.1.12", "description": "Hound Antivirus — desktop app", "type": "module", "scripts": { diff --git a/gui/src-tauri/Cargo.lock b/gui/src-tauri/Cargo.lock index 066ea95..89ddd3d 100644 --- a/gui/src-tauri/Cargo.lock +++ b/gui/src-tauri/Cargo.lock @@ -1467,7 +1467,7 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hound-api" -version = "0.1.11" +version = "0.1.12" dependencies = [ "anyhow", "serde", @@ -1477,7 +1477,7 @@ dependencies = [ [[package]] name = "hound-gui" -version = "0.1.11" +version = "0.1.12" dependencies = [ "anyhow", "hound-api", diff --git a/gui/src-tauri/Cargo.toml b/gui/src-tauri/Cargo.toml index 4035b44..672d6a9 100644 --- a/gui/src-tauri/Cargo.toml +++ b/gui/src-tauri/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "hound-gui" description = "Hound Antivirus desktop app (Tauri 2)" -version = "0.1.11" +version = "0.1.12" edition = "2021" license = "MIT" repository = "https://git.joelovestech.com/Hound/Antivirus" diff --git a/gui/src-tauri/src/main.rs b/gui/src-tauri/src/main.rs index 4913ff2..3dab500 100644 --- a/gui/src-tauri/src/main.rs +++ b/gui/src-tauri/src/main.rs @@ -5,6 +5,16 @@ //! //! protected (green) / scanning (amber) / threat (red) / paused (gray) //! +//! There is deliberately no `trayIcon` block in tauri.conf.json. Declaring +//! one makes Tauri create a tray icon at startup, and this file builds +//! another with `TrayIconBuilder` — one process, two dogs in the panel, and +//! the config one carries no menu, which is why the second could never be +//! clicked or closed. The programmatic one is the one to keep: it has the +//! menu, and it swaps between the protected, scanning, threat, paused and +//! attention icons, which a static `iconPath` cannot do. That bug outlived +//! two other fixes for duplicate tray icons, because those fixes were for +//! genuinely different causes. +//! //! `withGlobalTauri` is on in tauri.conf.json and load-bearing: the front-end //! is plain ES modules with no bundler, so a bare specifier such as //! "@tauri-apps/api/core" cannot resolve in the webview. It does not error diff --git a/gui/src-tauri/tauri.conf.json b/gui/src-tauri/tauri.conf.json index 57ed8bb..b2a8a69 100644 --- a/gui/src-tauri/tauri.conf.json +++ b/gui/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Hound Antivirus", - "version": "0.1.11", + "version": "0.1.12", "identifier": "com.joelovestech.hound", "build": { "frontendDist": "../dist", @@ -26,10 +26,6 @@ ], "security": { "csp": null - }, - "trayIcon": { - "iconPath": "icons/state-protected-22.png", - "iconAsTemplate": false } }, "bundle": { diff --git a/tools/refresh-definitions.sh b/tools/refresh-definitions.sh index 5efa733..bf05d98 100755 --- a/tools/refresh-definitions.sh +++ b/tools/refresh-definitions.sh @@ -114,3 +114,12 @@ print(f"index.json lists {len(packs)} pack(s)") PY log "published $published pack(s) for $VERSION" + +# Clear the extracted records. They are the bulk of the scratch — 1.2 GB +# after a single run — and the daily timer regenerates them every time. The +# downloaded zips stay, because ingest-osv.py reuses them and fetching is the +# slow part; the JSON extracted from them costs seconds to rebuild and is +# pure waste to keep. Left alone, a nightly job quietly fills the disk of the +# machine that publishes a security feed. +find "$WORK" -mindepth 1 -maxdepth 1 -type d -exec rm -rf {} + +log "scratch now $(du -sh "$WORK" 2>/dev/null | cut -f1)"