{"record":{"id":"d1a532c8baaeff1f","repo":"ruvnet/ruflo","slug":"ipfs-fetch-failed-for-cid-on-all-gateways","errorCode":null,"errorMessage":"[IPFS] Fetch failed for ${cid} on all gateways","messagePattern":"\\[IPFS\\] Fetch failed for (.+?) on all gateways","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"v3/@claude-flow/cli/src/transfer/ipfs/client.ts","lineNumber":177,"sourceCode":"        const latency = Date.now() - startTime;\n        console.log(`[IPFS] Fetched ${cid} from ${gateway} (${latency}ms)`);\n        return data;\n      }\n\n      // Handle specific error codes\n      if (response.status === 504) {\n        console.warn(`[IPFS] Gateway timeout on ${gateway}, trying next...`);\n      } else if (response.status === 429) {\n        console.warn(`[IPFS] Rate limited on ${gateway}, trying next...`);\n      }\n    } catch (error) {\n      const errorMsg = error instanceof Error ? error.message : String(error);\n      console.warn(`[IPFS] Gateway ${gateway} failed: ${errorMsg}`);\n      continue;\n    }\n  }\n\n  console.warn(`[IPFS] Fetch failed for ${cid} on all gateways`);\n  return null;\n}\n\n/**\n * Fetch with full result metadata\n */\nexport async function fetchFromIPFSWithMetadata<T>(\n  cid: string,\n  preferredGateway?: string\n): Promise<FetchResult<T> | null> {\n  if (!isValidCID(cid)) return null;\n  const gateways = preferredGateway\n    ? [preferredGateway, ...IPFS_GATEWAYS.filter(g => g !== preferredGateway)]\n    : IPFS_GATEWAYS;\n\n  for (const gateway of gateways) {\n    try {\n      const startTime = Date.now();","sourceCodeStart":159,"sourceCodeEnd":195,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/v3/@claude-flow/cli/src/transfer/ipfs/client.ts#L159-L195","documentation":"Log warning in fetchFromIPFS: the CID could not be fetched from any configured gateway (each attempt timed out, was rate-limited, or errored); the function gives up and signals failure to the caller.","triggerScenarios":"Thrown at v3/@claude-flow/cli/src/transfer/ipfs/client.ts:177 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the CID exists and is reachable on the IPFS network; pin it on a reliable node or add more gateways."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fa13ee4ad60ac2090b1480656eb233521790d640","analyzedAt":"2026-08-18T21:34:22.708Z","contentChangedAt":"2026-08-18T21:34:22.708Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}