spacedriveapp/spacedrive · error · anyhow::Error
Networking service not available
Error message
Networking service not available
What it means
RemoteDeleteStrategy::delete_on_device needs the networking service to send a FileDeleteMessage to another device; ctx.networking_service() returned None. Remote deletion is impossible in this state and the job fails before the request is even serialized. Same root cause as the copy-path variant: the JobContext has no networking service registered.
Source
Thrown at core/src/ops/files/delete/strategy.rs:381
.await?;
all_results.extend(results);
}
Ok(all_results)
}
}
impl RemoteDeleteStrategy {
async fn delete_on_device(
&self,
ctx: &JobContext<'_>,
device_id: Uuid,
paths: &[SdPath],
mode: DeleteMode,
) -> Result<Vec<DeleteResult>> {
let networking = ctx
.networking_service()
.ok_or_else(|| anyhow::anyhow!("Networking service not available"))?;
let request_id = Uuid::new_v4();
// Create delete request
let request = FileDeleteMessage::Request {
paths: paths.to_vec(),
mode,
request_id,
};
// Serialize request
let request_data = rmp_serde::to_vec(&request)?;
ctx.log(format!(
"Sending delete request to device {} for {} paths",
device_id,
paths.len()
));View on GitHub (pinned to 6dfeccf211)
Solutions
- Check daemon startup logs for networking service initialization errors
- Restart sd-daemon so the networking service is re-registered
- Pre-flight remote deletes with ctx.networking_service().is_some() and report clearly
- Route genuinely local paths through the local delete strategy instead
Defensive patterns
Strategy: validation
Validate before calling
// Only dispatch remote deletes when the networking service is present.
if paths.iter().any(|p| !p.is_local()) && ctx.networking_service().is_none() {
return Err(anyhow::anyhow!(
"Cannot delete remote paths: networking service is not running"
));
} Prevention
- Verify service availability before enqueuing remote operations
- Surface service state in the UI so offline mode is visible
When it happens
Trigger: Deleting paths that live on another device while networking is unavailable - daemon started with networking disabled or failed to initialize, or a JobContext built manually in tests or tooling.
Common situations: Offline or single-device daemon modes, service initialization failures at startup, integration tests with minimal contexts.
Related errors
- Daemon binary not found at {}. Ensure both 'sd-cli' and 'sd-
- Failed to load LaunchAgent: {}
- Failed to enable systemd service: {}
- Failed to start systemd service: {}
- Daemon auto-start is currently only supported on macOS and L
AI-assisted analysis of spacedriveapp/spacedrive@6dfeccf211 (2026-08-16).
Data as JSON: /api/errors/2feab84f27f722c3.
Report an issue: GitHub.