{"record":{"id":"7b7ebd4221a5d7b0","repo":"spacedriveapp/spacedrive","slug":"no-paths-to-copy","errorCode":null,"errorMessage":"No paths to copy","messagePattern":"No paths to copy","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/src/service/file_sync/mod.rs","lineNumber":209,"sourceCode":"\t\t\t);\n\n\t\t\t// Extract device slug from first entry (simplified)\n\t\t\t// In production, this should be more robust\n\t\t\tlet device_slug = crate::device::get_current_device_slug();\n\n\t\t\t// Create SdPaths from entries\n\t\t\tlet source_paths: Vec<SdPath> = operations\n\t\t\t\t.to_copy\n\t\t\t\t.iter()\n\t\t\t\t.map(|e| e.to_sdpath(device_slug.clone()))\n\t\t\t\t.collect();\n\n\t\t\t// For MVP, use the first entry's parent as destination\n\t\t\t// In production, this should use the target entry's path\n\t\t\tlet destination = if let Some(first) = source_paths.first() {\n\t\t\t\tfirst.clone()\n\t\t\t} else {\n\t\t\t\treturn Err(anyhow::anyhow!(\"No paths to copy\"));\n\t\t\t};\n\n\t\t\tlet mut job = FileCopyJob::new(SdPathBatch::new(source_paths), destination);\n\t\t\tjob = job.with_options(CopyOptions {\n\t\t\t\toverwrite: true, // File sync should overwrite\n\t\t\t\t..Default::default()\n\t\t\t});\n\n\t\t\tlet handle = jobs.dispatch(job).await?;\n\t\t\tSome(handle.id())\n\t\t} else {\n\t\t\tNone\n\t\t};\n\n\t\tlet delete_job_id = if !operations.to_delete.is_empty() {\n\t\t\tinfo!(\n\t\t\t\t\"{}: Dispatching delete job for {} files\",\n\t\t\t\tdirection,","sourceCodeStart":191,"sourceCodeEnd":227,"githubUrl":"https://github.com/spacedriveapp/spacedrive/blob/6dfeccf2113039e35f2ce735f945e70dc3e4ea45/core/src/service/file_sync/mod.rs#L191-L227","documentation":"Error \"No paths to copy\" thrown in spacedriveapp/spacedrive.","triggerScenarios":"Thrown at core/src/service/file_sync/mod.rs:209 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6dfeccf2113039e35f2ce735f945e70dc3e4ea45","analyzedAt":"2026-08-16T11:26:17.074Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}