ruvnet/ruflo · error

[IPFS] Gateway timeout on ${gateway}, trying next...

Error message

[IPFS] Gateway timeout on ${gateway}, trying next...

What it means

Log warning in fetchFromIPFS: the gateway answered HTTP 504 (gateway timeout) for the CID; this gateway is abandoned and the next gateway in the list is tried.

Source

Thrown at v3/@claude-flow/cli/src/transfer/ipfs/client.ts:166

      const response = await fetch(url, {
        signal: AbortSignal.timeout(30000),
        headers: {
          'Accept': 'application/json',
          'Cache-Control': 'max-age=3600',
        },
      });

      if (response.ok) {
        const data = await response.json() as T;
        const latency = Date.now() - startTime;
        console.log(`[IPFS] Fetched ${cid} from ${gateway} (${latency}ms)`);
        return data;
      }

      // Handle specific error codes
      if (response.status === 504) {
        console.warn(`[IPFS] Gateway timeout on ${gateway}, trying next...`);
      } else if (response.status === 429) {
        console.warn(`[IPFS] Rate limited on ${gateway}, trying next...`);
      }
    } catch (error) {
      const errorMsg = error instanceof Error ? error.message : String(error);
      console.warn(`[IPFS] Gateway ${gateway} failed: ${errorMsg}`);
      continue;
    }
  }

  console.warn(`[IPFS] Fetch failed for ${cid} on all gateways`);
  return null;
}

/**
 * Fetch with full result metadata
 */
export async function fetchFromIPFSWithMetadata<T>(

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. No action needed if a later gateway succeeds; persistent timeouts mean the gateway should be replaced or the timeout raised.
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at v3/@claude-flow/cli/src/transfer/ipfs/client.ts:166 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class


AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18). Data as JSON: /api/errors/01660f887faa8063. Report an issue: GitHub.