ActivityPub type for icon and image should be 'Image', not 'image'?

AP Reference

Example used there:

  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "A simple note",
  "type": "Note",
  "content": "This is all there is.",
  "icon": {
    "type": "Image",
    "name": "Note icon",
    "url": "http://example.org/note.png",
    "width": 16,
    "height": 16

Results from https://bird.makeup/users/willsommer:

"icon": {
    "type": "image",
    "mediaType": "image/jpeg",
    "url": "https://pbs.twimg.com/profile_images/1649124774784663562/U8WwhTLB_400x400.jpg"
"image": {
    "type": "image",
    "mediaType": "image/jpeg",
    "url": "https://pbs.twimg.com/profile_banners/274294204/1677789474"

It was lemmy that errored on receiving this JSON, but maybe others will too (assuming that the spec is case-sensitive as it appears, and it's not just lemmy being too fussy)

Assigned to
5 months ago
4 months ago
No labels applied.

~davinkevin 4 months ago

I did the change on my instance and I confirm it has fixed the issued. IMO, it appeared after 4.2.8 patch on my private instance.

~rursache 4 months ago

~davinkevin what change? i see the issue as well

~cloutier 4 months ago

~davinkevin if you have a patch already I will gladly accept it! (you can just link to a git repo with the fix too and I will figure out the rest)

~davinkevin 4 months ago

I did a change just to try it out. I don't know if there is any other implication for the insta part or other element in the code.

~cloutier The code is just a one letter change, but the code is available on GitLab

~cloutier 4 months ago

~davinkevin I pulled the commit. Even if it's small code-wise, I want to recognise your contribution in testing it. Thanks!

~freamon I have updated bird.makeup with the patch. Can you confirm that it works with Lemmy now?

~freamon 4 months ago

~cloutier Not quite yet, unfortunately. Lemmy now has no problem with the Image type, but it expects an 'outbox' address in the actor's file. It doesn't need to resolve to anything, it just needs to be there.

Apologies for not thinking of this before, but I copied the details of the 'willsommer' actor to my site, changed 'bird.makeup' to 'lemmon.website' and added an outbox address, and that works with lemmy.

So @willsommer@lemmon.website => https://lemmon.website/users/willsommer works, but https://bird.makeup/users/willsommer doesn't (the 'outbox' field is the only real difference in the JSON versions).

It would be great if an 'outbox' entry could be added for actors on bird.makeup. I guess it could just point to something that 404s, or to a file with an OrderedCollection with 0 items. I also tested @willsommer@lemmon.website from a Mastodon server (activitypub.academy), and that seemed to resolve without any issues.

~davinkevin 4 months ago

Thank you ~cloutier 😇.

FYI, images (avatar & cie) are back only after an operation like unfollow/follow.

Register here or Log in to comment, or comment via email.