bridgy-fed icon indicating copy to clipboard operation
bridgy-fed copied to clipboard

Incomplete image upload to bluesky bridged from pixelfed

Open carlo-colombo opened this issue 7 months ago • 1 comments

I uploaded (a possibly too big image - 14.4 MB) on pixelfed [1] and when the post has been bridged to bluesky [2] the image looks truncated. Posting directly the image to bluesky worked.

Image

[1] https://pixelfed.social/p/lit.pictures/827109069737525376 [2] https://bsky.app/profile/pictures.litapp.ovh/post/3lov4nsdxp5t2

carlo-colombo avatar May 11 '25 19:05 carlo-colombo

Interesting! And sorry for the trouble!

Looks like the Bluesky post record we generated for this post is ok: https://atproto.brid.gy/xrpc/com.atproto.repo.getRecord?repo=pictures.litapp.ovh&collection=app.bsky.feed.post&rkey=3lov4nsdxp5t2 . Full post JSON is below.

We're also serving a valid HTTP 301 redirect for the blob, https://atproto.brid.gy/xrpc/com.atproto.sync.getBlob?did=did:plc:ohaav5t47car3a5tu3dt5dgf&cid=bafkreiaszyotalhimekosl2gijc6gvzq24xrgvohxdmi5yuuopdujwvspy => https://pixelfed.social/storage/m/_v2/495198478678223307/208209554-471e9e/RJsT9dKQJJ6o/3VOWDc6W2EpzlxipJ717VVGYlxBz8xtRpvQxXSx7.jpg

We don't check blob sizes, even though technically the Bluesky post lexicon does limit them, because Bluesky's own appview seems not to check them either: https://github.com/bluesky-social/atproto/discussions/2845 . Maybe they have a very high limit that we weren't aware of though, maybe 10MB or so?

{
  "cid": "bafyreigp6dlgqsf6v77wvs4vu37ra3rs3mbea6akkug4sod36fhhgok57e",
  "uri": "at://did:plc:ohaav5t47car3a5tu3dt5dgf/app.bsky.feed.post/3lov4nsdxp5t2",
  "value": {
    "$type": "app.bsky.feed.post",
    "createdAt": "2025-05-11T09:16:09.000Z",
    "text": "Gran Hotel Bolivar Lima - Glass Dome - #BlueSkyArtShow #Lines #glassdome #glass #dinosaurs #peru #lima #photography #travelphotography #travelpics",
    "embed": {
      "$type": "app.bsky.embed.images",
      "images": [{
          "$type": "app.bsky.embed.images#image",
          "alt": "",
          "aspectRatio": {
            "height": 4168,
            "width": 6244
          },
          "image": {
            "$type": "blob",
            "mimeType": "image/jpeg",
            "ref": {
              "$link": "bafkreiaszyotalhimekosl2gijc6gvzq24xrgvohxdmi5yuuopdujwvspy"
            },
            "size": 15099028
          }
        }
      ] },
    "facets": [{
        "$type": "app.bsky.richtext.facet",
        "features": [{
            "$type": "app.bsky.richtext.facet#tag",
            "tag": "photography"
          }],
        "index": {
          "byteEnd": 115,
          "byteStart": 103
        }
      },
      "..."
    ],
    "bridgyOriginalUrl": "https://pixelfed.social/p/lit.pictures/827109069737525376",
    "bridgyOriginalText": "Gran Hotel Bolivar Lima - Glass Dome - <a href=\"https://pixelfed.social/discover/tags/BlueSkyArtShow?src=hash\" title=\"#BlueSkyArtShow\" class=\"u-url hashtag\" rel=\"external nofollow noopener\">#BlueSkyArtShow</a> <a href=\"https://pixelfed.social/discover/tags/Lines?src=hash\" title=\"#Lines\" class=\"u-url hashtag\" rel=\"external nofollow noopener\">#Lines</a> <a href=\"https://pixelfed.social/discover/tags/glassdome?src=hash\" title=\"#glassdome\" class=\"u-url hashtag\" rel=\"external nofollow noopener\">#glassdome</a> <a href=\"https://pixelfed.social/discover/tags/glass?src=hash\" title=\"#glass\" class=\"u-url hashtag\" rel=\"external nofollow noopener\">#glass</a> <a href=\"https://pixelfed.social/discover/tags/dinosaurs?src=hash\" title=\"#dinosaurs\" class=\"u-url hashtag\" rel=\"external nofollow noopener\">#dinosaurs</a> <a href=\"https://pixelfed.social/discover/tags/peru?src=hash\" title=\"#peru\" class=\"u-url hashtag\" rel=\"external nofollow noopener\">#peru</a> <a href=\"https://pixelfed.social/discover/tags/lima?src=hash\" title=\"#lima\" class=\"u-url hashtag\" rel=\"external nofollow noopener\">#lima</a> <a href=\"https://pixelfed.social/discover/tags/photography?src=hash\" title=\"#photography\" class=\"u-url hashtag\" rel=\"external nofollow noopener\">#photography</a> <a href=\"https://pixelfed.social/discover/tags/travelphotography?src=hash\" title=\"#travelphotography\" class=\"u-url hashtag\" rel=\"external nofollow noopener\">#travelphotography</a> <a href=\"https://pixelfed.social/discover/tags/travelpics?src=hash\" title=\"#travelpics\" class=\"u-url hashtag\" rel=\"external nofollow noopener\">#travelpics</a>"
  }
}

snarfed avatar May 12 '25 00:05 snarfed

@carlo-colombo have you seen this again at all? Sadly there may not be much I can do here to either debug or fix this, since the truncation happened in Bluesky's appview or CDN, which are downstream from Bridgy Fed and out of my control. 🤷‍♂

snarfed avatar Jun 24 '25 23:06 snarfed

Tentatively closing, not sure we can do anything here. Feel free to reopen.

snarfed avatar Jul 17 '25 00:07 snarfed

@carlo-colombo I think I figured out the cause here, Bluesky's CDN has an undocumented limit of 10MB for images. Feel free to follow https://github.com/snarfed/bridgy-fed/issues/2107, we're tracking there.

snarfed avatar Sep 28 '25 03:09 snarfed

Thanks for updating, I'll follow there.

carlo-colombo avatar Sep 28 '25 05:09 carlo-colombo