{"record":{"id":"dc9719696c6f4b93","repo":"denoland/deno","slug":"no-valid-icon-images-found-for-ico","errorCode":null,"errorMessage":"No valid icon images found for .ico","messagePattern":"No valid icon images found for \\.ico","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/tools/desktop.rs","lineNumber":5253,"sourceCode":"  cwd: &Path,\n  entries: &[crate::args::IconSetEntry],\n  ico_path: &Path,\n) -> Result<(), deno_core::error::AnyError> {\n  use std::io::Write;\n\n  let mut images: Vec<(u32, Vec<u8>)> = Vec::new();\n  for entry in entries {\n    let src = cwd.join(&entry.path);\n    if !src.exists() {\n      log::warn!(\"Icon '{}' not found, skipping\", src.display());\n      continue;\n    }\n    let data = std::fs::read(&src)?;\n    images.push((entry.size, data));\n  }\n\n  if images.is_empty() {\n    deno_core::anyhow::bail!(\"No valid icon images found for .ico\");\n  }\n\n  let count = images.len() as u16;\n  // ICO header: 6 bytes\n  // Each directory entry: 16 bytes\n  let header_size = 6 + (count as u32) * 16;\n\n  let mut buf = Vec::new();\n  // ICO header\n  buf.write_all(&0u16.to_le_bytes())?; // reserved\n  buf.write_all(&1u16.to_le_bytes())?; // type: 1 = ICO\n  buf.write_all(&count.to_le_bytes())?; // image count\n\n  // Directory entries\n  let mut data_offset = header_size;\n  for (size, data) in &images {\n    // Width/height: 0 means 256 in ICO format\n    let dim = if *size >= 256 { 0u8 } else { *size as u8 };","sourceCodeStart":5235,"sourceCodeEnd":5271,"githubUrl":"https://github.com/denoland/deno/blob/89f33cbef296a2b287f323d42de54c871fa69c77/cli/tools/desktop.rs#L5235-L5271","documentation":"Error \"No valid icon images found for .ico\" thrown in denoland/deno.","triggerScenarios":"Thrown at cli/tools/desktop.rs:5253 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":"89f33cbef296a2b287f323d42de54c871fa69c77","analyzedAt":"2026-08-16T07:54:21.310Z","schemaVersion":2},"datasetVersion":"2026-08-16T08:17:34.114Z"}