feat: add discord rich presence
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 59s
CI / Lint & Test (pull_request) Failing after 5m50s
CI / Build Linux (pull_request) Has been skipped
CI / Build Windows (cross-compile) (pull_request) Has been skipped

This commit is contained in:
2026-02-05 11:02:51 -08:00
parent e4288248b1
commit 68075af47a
16 changed files with 507 additions and 10 deletions
+10
View File
@@ -112,6 +112,9 @@ pub struct HikariConfig {
#[serde(default = "default_budget_warning_threshold")]
pub budget_warning_threshold: f32,
#[serde(default = "default_discord_rpc_enabled")]
pub discord_rpc_enabled: bool,
}
impl Default for HikariConfig {
@@ -144,6 +147,7 @@ impl Default for HikariConfig {
session_cost_budget: None,
budget_action: BudgetAction::Warn,
budget_warning_threshold: 0.8,
discord_rpc_enabled: true,
}
}
}
@@ -176,6 +180,10 @@ fn default_budget_warning_threshold() -> f32 {
0.8
}
fn default_discord_rpc_enabled() -> bool {
true
}
#[derive(Debug, Clone, Serialize, Deserialize, Default, PartialEq)]
#[serde(rename_all = "lowercase")]
pub enum BudgetAction {
@@ -247,6 +255,7 @@ mod tests {
assert!(config.session_cost_budget.is_none());
assert_eq!(config.budget_action, BudgetAction::Warn);
assert!((config.budget_warning_threshold - 0.8).abs() < f32::EPSILON);
assert!(config.discord_rpc_enabled);
}
#[test]
@@ -279,6 +288,7 @@ mod tests {
session_cost_budget: Some(1.50),
budget_action: BudgetAction::Block,
budget_warning_threshold: 0.75,
discord_rpc_enabled: true,
};
let json = serde_json::to_string(&config).unwrap();