fix: Implement Phase 2 major fixes
Database: - Add missing indexes for api_key_hash, status, metrics queries - New migration: 005_add_missing_indexes.sql Server: - Fix WebSocket Ping/Pong protocol (RFC 6455 compliance) - Use separate channel for Pong responses Agent: - Replace format!() path construction with PathBuf::join() - Replace todo!() macros with proper errors for macOS support Dashboard: - Fix duplicate filter values in Agents page (__unassigned__ sentinel) - Add onError handlers to all mutations in Agents, Clients, Sites pages All changes reviewed and approved. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -224,8 +224,11 @@ async fn install_service(
|
||||
#[cfg(target_os = "macos")]
|
||||
{
|
||||
let _ = (server_url, api_key, skip_legacy_check); // Suppress unused warnings
|
||||
info!("Installing GuruRMM Agent as launchd service...");
|
||||
todo!("macOS launchd service installation not yet implemented");
|
||||
return Err(anyhow::anyhow!(
|
||||
"macOS launchd service installation is not yet implemented.\n\
|
||||
For now, you can run the agent manually or create a launchd plist.\n\
|
||||
See: https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html"
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -504,7 +507,10 @@ async fn uninstall_service() -> Result<()> {
|
||||
|
||||
#[cfg(target_os = "macos")]
|
||||
{
|
||||
todo!("macOS service uninstallation not yet implemented");
|
||||
return Err(anyhow::anyhow!(
|
||||
"macOS launchd service uninstallation is not yet implemented.\n\
|
||||
If you created a launchd plist manually, remove it from ~/Library/LaunchAgents/ or /Library/LaunchDaemons/"
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -593,7 +599,10 @@ async fn start_service() -> Result<()> {
|
||||
|
||||
#[cfg(target_os = "macos")]
|
||||
{
|
||||
todo!("macOS service start not yet implemented");
|
||||
return Err(anyhow::anyhow!(
|
||||
"macOS launchd service start is not yet implemented.\n\
|
||||
If you created a launchd plist manually, use: launchctl load <plist-path>"
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -626,7 +635,10 @@ async fn stop_service() -> Result<()> {
|
||||
|
||||
#[cfg(target_os = "macos")]
|
||||
{
|
||||
todo!("macOS service stop not yet implemented");
|
||||
return Err(anyhow::anyhow!(
|
||||
"macOS launchd service stop is not yet implemented.\n\
|
||||
If you created a launchd plist manually, use: launchctl unload <plist-path>"
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user