Merge pull request 'Fix/notifications' (#19) from fix/notifications into development
Reviewed-on: #19
This commit was merged in pull request #19.
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
## [0.4.1] - 2026-10-09
|
||||||
|
|
||||||
|
### 🐛 Bug Fixes
|
||||||
|
|
||||||
|
- Fixed Windows Desktop Notifications. Windows Only Allows Notifications From Registered Applications. Added a Function in the Standalone Binary To Register It in the Registry As if It Were Installed.
|
||||||
## [0.4.0] - 2026-10-09
|
## [0.4.0] - 2026-10-09
|
||||||
|
|
||||||
### 🚀 Features
|
### 🚀 Features
|
||||||
|
|||||||
Generated
+1
-1
@@ -49,7 +49,7 @@ checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "argus"
|
name = "argus"
|
||||||
version = "0.4.0"
|
version = "0.4.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"csv",
|
"csv",
|
||||||
"dns-lookup",
|
"dns-lookup",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "argus"
|
name = "argus"
|
||||||
version = "0.4.0"
|
version = "0.4.1"
|
||||||
description = "An All in One Network Utility"
|
description = "An All in One Network Utility"
|
||||||
authors = ["James Brotosky <james.brotosky@racooncity.org"]
|
authors = ["James Brotosky <james.brotosky@racooncity.org"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|||||||
@@ -200,4 +200,4 @@ pub fn is_monitor_running() -> bool {
|
|||||||
let state = get_monitor();
|
let state = get_monitor();
|
||||||
let guard = state.blocking_lock();
|
let guard = state.blocking_lock();
|
||||||
guard.running
|
guard.running
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,4 +60,3 @@ pub async fn run_traceroute(app: AppHandle, ip: String) -> Result<(), String> {
|
|||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+45
-3
@@ -3,11 +3,52 @@ mod models;
|
|||||||
mod net;
|
mod net;
|
||||||
mod scanner;
|
mod scanner;
|
||||||
|
|
||||||
use tauri::Manager;
|
|
||||||
use tauri::menu::{Menu, MenuItem};
|
use tauri::menu::{Menu, MenuItem};
|
||||||
use tauri::tray::TrayIconBuilder;
|
use tauri::tray::TrayIconBuilder;
|
||||||
|
use tauri::Manager;
|
||||||
|
|
||||||
#[cfg_attr(mobile, tauri::mobile_entry_point)]
|
#[cfg_attr(mobile, tauri::mobile_entry_point)]
|
||||||
|
#[cfg(target_os = "windows")]
|
||||||
|
fn register_aumid() {
|
||||||
|
let app_id = "io.argus.app";
|
||||||
|
let key_path = format!("HKCU\\Software\\Classes\\AppUserModelId\\{}", app_id);
|
||||||
|
|
||||||
|
// Check if already registered
|
||||||
|
let check = std::process::Command::new("reg")
|
||||||
|
.args(["query", &key_path])
|
||||||
|
.output();
|
||||||
|
|
||||||
|
if let Ok(o) = check {
|
||||||
|
if o.status.success() {
|
||||||
|
tracing::debug!("AUMID already registered");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Not registered, create it
|
||||||
|
let output = std::process::Command::new("reg")
|
||||||
|
.args([
|
||||||
|
"add",
|
||||||
|
&key_path,
|
||||||
|
"/v", "DisplayName",
|
||||||
|
"/t", "REG_SZ",
|
||||||
|
"/d", "Argus",
|
||||||
|
"/f",
|
||||||
|
])
|
||||||
|
.output();
|
||||||
|
|
||||||
|
match output {
|
||||||
|
Ok(o) if o.status.success() => {
|
||||||
|
tracing::debug!("AUMID registered successfully");
|
||||||
|
}
|
||||||
|
Ok(o) => {
|
||||||
|
tracing::warn!("AUMID registration failed: {}", String::from_utf8_lossy(&o.stderr));
|
||||||
|
}
|
||||||
|
Err(e) => {
|
||||||
|
tracing::warn!("Failed to run reg command: {}", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
pub fn run() {
|
pub fn run() {
|
||||||
tracing_subscriber::fmt()
|
tracing_subscriber::fmt()
|
||||||
.with_env_filter(
|
.with_env_filter(
|
||||||
@@ -30,7 +71,8 @@ pub fn run() {
|
|||||||
let show = MenuItem::with_id(app, "show", "Show Argus", true, None::<&str>)?;
|
let show = MenuItem::with_id(app, "show", "Show Argus", true, None::<&str>)?;
|
||||||
let quit = MenuItem::with_id(app, "quit", "Quit", true, None::<&str>)?;
|
let quit = MenuItem::with_id(app, "quit", "Quit", true, None::<&str>)?;
|
||||||
let menu = Menu::with_items(app, &[&show, &quit])?;
|
let menu = Menu::with_items(app, &[&show, &quit])?;
|
||||||
|
#[cfg(target_os = "windows")]
|
||||||
|
register_aumid();
|
||||||
let _tray = TrayIconBuilder::new()
|
let _tray = TrayIconBuilder::new()
|
||||||
.icon(app.default_window_icon().unwrap().clone())
|
.icon(app.default_window_icon().unwrap().clone())
|
||||||
.tooltip("Argus - Network Scanner")
|
.tooltip("Argus - Network Scanner")
|
||||||
@@ -97,4 +139,4 @@ pub fn run() {
|
|||||||
])
|
])
|
||||||
.run(tauri::generate_context!())
|
.run(tauri::generate_context!())
|
||||||
.expect("error while running tauri application");
|
.expect("error while running tauri application");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://schema.tauri.app/config/2",
|
"$schema": "https://schema.tauri.app/config/2",
|
||||||
"productName": "argus",
|
"productName": "argus",
|
||||||
"version": "0.4.0",
|
"version": "0.4.1",
|
||||||
"identifier": "io.argus.app",
|
"identifier": "io.argus.app",
|
||||||
"build": {
|
"build": {
|
||||||
"frontendDist": "../src"
|
"frontendDist": "../src"
|
||||||
|
|||||||
Reference in New Issue
Block a user