0.1.12: kill the duplicate tray icon, and stop the definition builder from filling the disk

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
dev 2026-08-21 15:08:35 -05:00
parent 51b8fcd573
commit 4bab6c7a6b
8 changed files with 32 additions and 17 deletions

14
Cargo.lock generated
View file

@ -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",

View file

@ -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"

View file

@ -1,6 +1,6 @@
{
"name": "hound-gui",
"version": "0.1.11",
"version": "0.1.12",
"description": "Hound Antivirus — desktop app",
"type": "module",
"scripts": {

View file

@ -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",

View file

@ -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"

View file

@ -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

View file

@ -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": {

View file

@ -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)"