diff --git a/dist/fabric/src/inbound.js b/dist/fabric/src/inbound.js index 7bbae8d..ac716e7 100644 --- a/dist/fabric/src/inbound.js +++ b/dist/fabric/src/inbound.js @@ -173,14 +173,16 @@ export class FabricInbound { Timestamp: m.createdAt ? Date.parse(m.createdAt) : Date.now(), OriginatingChannel: 'fabric', OriginatingTo: `fabric:${channelId}`, + // Provide ONLY local paths. The guild file URL is on a private host + // (e.g. localhost); openclaw's SSRF guard blocks re-fetching it, so + // passing MediaUrls is both redundant (we already downloaded the + // bytes) and noisy. Local MediaPaths is the reliable delivery. ...(media.paths.length ? { MediaPaths: media.paths, MediaTypes: media.types, - MediaUrls: media.urls, MediaPath: media.paths[0], MediaType: media.types[0], - MediaUrl: media.urls[0], } : {}), }); diff --git a/src/inbound.ts b/src/inbound.ts index c542a7f..911e783 100644 --- a/src/inbound.ts +++ b/src/inbound.ts @@ -212,14 +212,16 @@ export class FabricInbound { Timestamp: m.createdAt ? Date.parse(m.createdAt) : Date.now(), OriginatingChannel: 'fabric', OriginatingTo: `fabric:${channelId}`, + // Provide ONLY local paths. The guild file URL is on a private host + // (e.g. localhost); openclaw's SSRF guard blocks re-fetching it, so + // passing MediaUrls is both redundant (we already downloaded the + // bytes) and noisy. Local MediaPaths is the reliable delivery. ...(media.paths.length ? { MediaPaths: media.paths, MediaTypes: media.types, - MediaUrls: media.urls, MediaPath: media.paths[0], MediaType: media.types[0], - MediaUrl: media.urls[0], } : {}), });