{"record":{"id":"d652adc9a4017d3a","repo":"ruvnet/ruflo","slug":"ipfs-ipns-resolution-failed-for-ipnsname-on-a","errorCode":null,"errorMessage":"[IPFS] IPNS resolution failed for ${ipnsName} on all gateways","messagePattern":"\\[IPFS\\] IPNS resolution failed for (.+?) on all gateways","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"v3/@claude-flow/cli/src/transfer/ipfs/client.ts","lineNumber":122,"sourceCode":"          if (cidMatch) {\n            cid = cidMatch[1];\n          }\n        }\n      }\n\n      if (cid) {\n        const latency = Date.now() - startTime;\n        console.log(`[IPFS] Resolved ${ipnsName} -> ${cid} via ${gateway} (${latency}ms)`);\n        return cid;\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] IPNS resolution failed for ${ipnsName} on all gateways`);\n  return null;\n}\n\n/**\n * Fetch content from IPFS by CID with fallback across multiple gateways\n *\n * @param cid - Content Identifier\n * @param preferredGateway - Optional preferred gateway to try first\n * @returns Parsed JSON content or null if fetch fails\n */\nexport async function fetchFromIPFS<T>(\n  cid: string,\n  preferredGateway?: string\n): Promise<T | null> {\n  if (!isValidCID(cid)) return null;\n  const gateways = preferredGateway\n    ? [preferredGateway, ...IPFS_GATEWAYS.filter(g => g !== preferredGateway)]\n    : IPFS_GATEWAYS;","sourceCodeStart":104,"sourceCodeEnd":140,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/v3/@claude-flow/cli/src/transfer/ipfs/client.ts#L104-L140","documentation":"Final log warning in resolveIPNS: every configured public gateway was tried and none resolved the IPNS name to a CID (per-gateway failures were logged individually); the function returns null so callers fall back to cached/other discovery.","triggerScenarios":"Thrown at v3/@claude-flow/cli/src/transfer/ipfs/client.ts:122 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the IPNS name is correct and published, and that at least one gateway is reachable; publish the record again if it expired."],"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"}