{"record":{"id":"1854ac14c1a4ed0d","repo":"ruvnet/ruflo","slug":"discovery-offline-mode-could-not-resolve-ipn","errorCode":null,"errorMessage":"⚠ [Discovery] OFFLINE MODE - Could not resolve IPNS: ${ipnsName}","messagePattern":"⚠ \\[Discovery\\] OFFLINE MODE - Could not resolve IPNS: (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"v3/@claude-flow/cli/src/transfer/store/discovery.ts","lineNumber":211,"sourceCode":"              ipnsName,\n              cid,\n              resolvedAt: new Date().toISOString(),\n              expiresAt: new Date(Date.now() + 3600000).toISOString(),\n            };\n\n            this.ipnsCache.set(ipnsName, resolution);\n            console.log(`[Discovery] Resolved IPNS via redirect to CID: ${cid}`);\n            return resolution;\n          }\n        }\n      } catch (error) {\n        console.warn(`[Discovery] IPNS resolution via ${gateway} failed:`, error);\n        // Continue to next gateway\n      }\n    }\n\n    // Fallback: Generate deterministic CID for well-known registries\n    console.warn(`⚠ [Discovery] OFFLINE MODE - Could not resolve IPNS: ${ipnsName}`);\n    console.warn(`⚠ [Discovery] Using built-in fallback registry (may be outdated)`);\n    const fallbackCid = this.generateFallbackCID(ipnsName);\n    const resolution: IPNSResolution = {\n      ipnsName,\n      cid: fallbackCid,\n      resolvedAt: new Date().toISOString(),\n      expiresAt: new Date(Date.now() + 3600000).toISOString(),\n    };\n\n    this.ipnsCache.set(ipnsName, resolution);\n    return resolution;\n  }\n\n  /**\n   * Generate deterministic fallback CID for offline/demo mode\n   */\n  private generateFallbackCID(input: string): string {\n    const hash = crypto.createHash('sha256').update(input + 'registry').digest();","sourceCodeStart":193,"sourceCodeEnd":229,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/v3/@claude-flow/cli/src/transfer/store/discovery.ts#L193-L229","documentation":"Warning in resolveIPNS: IPNS resolution failed across all gateways (network offline or gateways unreachable), so the store switches to offline mode for this lookup.","triggerScenarios":"Thrown at v3/@claude-flow/cli/src/transfer/store/discovery.ts:211 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check network access and the IPNS name; the client runs offline with the fallback registry until IPNS resolution succeeds."],"exampleFix":null,"handlingStrategy":"fallback","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-14T05:17:10.506Z"}