-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
support Pleroma #12
Comments
The project meanwhile seems to have matured to its own domain and git repo: |
Should note that it's also ActivityPub-compatible as well now. |
Pleroma seems to gain popularity. It even caused some drama on the fediverse, causing in defederation with several mastodon instances. It is said to be light on resources and I'm moving to it (if you need some assistance with testing, I'd be happy to help!) |
Pleroma is compatible with Mastodon clients, so if Mastodon is working, Pleroma should (at least theoretically) work too. |
While working on the Drupal plugin, I finally got successful requests with Pleroma. @snarfed thinks to look out for:
That should do it. |
thank you @swentel! great sleuthing, really useful info. and funny coincidence, i've been troubleshooting Pleroma compatibility in Bridgy itself recently too, eg snarfed/bridgy#977 . |
I'm sure this doesn't add much of any substance that you didn't already know, however, I've just configured my site to use bridgy-fed and was successfully able to reply to a mastodon post (yours @snarfed ) but not a pleroma post on my site. The following is the feedback from webmention.app:
Apologies in advance if once again this is down to my particular instance not playing ball. |
The following are the (debug enabled) logs of an attempt to reply to pleroma:
|
Thanks for the details! Here's also the complete AS2 activity that Bridgy Fed sent to https://social.nipponalba.scot/users/jk/inbox , and got a 200 back for, from Bridgy Fed's log. One thing I notice is that the object has an id, but the activity doesn't, and @swentel said above:
I can look into adding an activity id. {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Create",
"object": {
"published": "10 Mar 2021 12:34 GMT",
"content": "<br/><p>If you can see this, it worked!</p>",
"url": "https://fed.brid.gy/r/https://jk.nipponalba.scot/response/6048bcde/",
"urls": [
{"value": "https://jk.nipponalba.scot/response/6048bcde/"},
{"value": "https://fed.brid.gy/"}
],
"inReplyTo": "https://social.nipponalba.scot/objects/1bf56236-fe1f-4f3c-9978-7b3eabcf73b5",
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"name": "If you can see this, it worked!",
"attachment": [
{
"type": "Note",
"name": "J K \ud83c\uddef\ud83c\uddf5\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc73\udb40\udc63\udb40\udc74\udb40\udc7f's avatar Wed, 10 Mar 2021 10:50:00 GMT\nRight then, if I've fixed my atom feed and added the link to bridgy fed for posts.. nginx rule added.. so long as my beehive -> webmention.app process works then maybe my site is now activitypubbed.. maybe.. (https://jk.nipponalba.scot/note/6048a457/)"
}
],
"attributedTo": [
{
"url": "https://fed.brid.gy/r/https://jk.nipponalba.scot",
"type": "Person",
"name": "J K \ud83c\uddef\ud83c\uddf5\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc73\udb40\udc63\udb40\udc74\udb40\udc7f | personal site",
"image": [
{
"url": "https://jk.nipponalba.scot/images/profile.jpg",
"type": "Image"
}
],
"icon": [
{
"url": "https://jk.nipponalba.scot/images/profile.jpg",
"type": "Image"
}
],
"preferredUsername": "jk.nipponalba.scot",
"id": "https://fed.brid.gy/jk.nipponalba.scot"
}
],
"tag": [
{
"type": "Mention",
"href": "https://social.nipponalba.scot/users/jk"
},
{
"type": "Mention",
"href": "https://social.nipponalba.scot/users/jk"
}
],
"id": "https://fed.brid.gy/r/https://jk.nipponalba.scot/response/6048bcde/",
"cc": [
"https://www.w3.org/ns/activitystreams#Public",
"https://social.nipponalba.scot/users/jk",
"https://social.nipponalba.scot/users/jk/followers"
]
}
} |
I've added an id to outbound AS2 activities. Feel free to try again! |
I've tried again and am seeing a similar pattern to above - there are 200 responses but there are also errors relating to signatures and failures to parse xml.
Not sure if perhaps: The first of those seems similar in nature to the pixelfed error, could it be that the AP spec has it that the key needs to be formatted in a certain way (which pixelfed and pleroma perhaps require) but mastodon have a workaround in place that converts one format to the other? |
The mastodon activitypub page has the key id in the format of "https://mastodon.social/users/Gargron#main-key" rather than the webfinger format above. I may however be reading way too much into this, and it could well be a red herring. |
@jk-na those are all good clues! I did notice one other quirk: it looks like your site's redirects to Bridgy Fed are duplicating the query parameters. eg |
How bizarre, I just copied and pasted the nginx redirect from the set up instructions to my proxy server, I'll double-check it though. |
Also, |
Based on the logs, it looks like Pleroma is trying to parse the JSON WebFinger response as XML, which explains that error and why it can't find or validate your public key. I'll try to figure out why. |
I fixed the duplication by adding a ? to the end of the rewrite target..
Interestingly, I don't now get the webmention.app error, instead receiving a 200 response. Received the error on the second attempt.. same errors at the pleroma end. |
The following is an excerpt from a successful POST to my inbox and might provide a clue or more confusion, it is from a mastodon account, I think:
|
I did notice that the official mime type for JRD is |
After much backslash removal, this is the bit that pleroma seems to be having with:
I'll try again. |
Still the same error. For ease of reading, I've tried to format the payload being processed by the inbox controller, I can see some differences but I don't know what is and isn't mandatory unfortunately. First one is the mastodon transaction from above, second is one of my attempts via bridgy fed
|
I had a look at my webfinger response for my pleroma account and the following is the output (I found the xml)
|
Thanks! Yup, that's XML-based XRD. I can try supporting that and see if it works then. |
This one is from my test mastodon account:
|
OK, Bridgy Fed's WebFinger now supports XRD. If you fetch it with `Accept: application/xrd' or 'application/xml', it now returns similar XRD to Pleroma's. Feel free to retry. Thanks again for all the testing! |
I think we're almost there.. the error message is smaller!
When I look at the webfinger, I don't see any rel for lrdd so I'm not sure but also the subject element is empty.
|
Thanks! I should really set up my own local Pleroma instance to do this testing. 😆 That new JSON is |
Progress after #442! Got a |
Also, wow, Pleroma prefixes our handles with an ugly hash id, eg https://pleroma.envs.net/users/ARH2JS1YMQXugE3HZw says I'm |
@srijan says this doesn't happen on his Akkoma instance, eg https://fedi.srijan.dev/users/ARH2J8WrU9En9ZzmSG, so it may be a misconfiguration or other problem on pleroma.envs.net specifically? |
Filed https://git.pleroma.social/pleroma/pleroma/-/issues/3206 for the reply inbox delivery 500. |
Same Pleroma 500 is still happening: https://git.pleroma.social/pleroma/pleroma/-/issues/3206#note_104956 . Got a bit of a response and discussion from a maintainer in that thread, but no conclusion and nothing more recently. |
@hellquist following up in #374 |
(Moved here) |
Got a new lead here. @[email protected] reports:
|
Big milestone here! Diego's lead above panned out: for |
Looks like we still have some I'm guessing the problem is the non-standard {
"id": "https://fed.brid.gy/r/snarfed.org/followers#accept-https://sironi.tk/activities/f038fb5d-d80a-4540-9a3f-1c7d721872ee",
"actor": "https://fed.brid.gy/snarfed.org",
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Accept",
"object": {
"actor": "https://sironi.tk/users/luca",
"id": "https://sironi.tk/activities/f038fb5d-d80a-4540-9a3f-1c7d721872ee",
"state": "pending",
"url": "https://sironi.tk/users/luca#followed-snarfed.org",
"type": "Follow",
"object": "https://fed.brid.gy/snarfed.org",
"to": ["snarfed.org"]
},
"to": ["https://www.w3.org/ns/activitystreams#Public"]
} |
I'm struggling to find recent examples of this. The |
Here's the full send task log for the bad
|
Here's an {
"id": "https://fed.brid.gy/r/snarfed.org/followers#accept-https://s3th.me/0df470b2-b240-42f8-8efa-dffa9d13834c",
"actor": "https://fed.brid.gy/snarfed.org",
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Accept",
"object": {
"id": "https://s3th.me/0df470b2-b240-42f8-8efa-dffa9d13834c",
"actor": "https://s3th.me/users/pch",
"url": "https://s3th.me/users/pch#followed-snarfed.org",
"type": "Follow",
"object": "https://fed.brid.gy/snarfed.org",
"to": ["https://www.w3.org/ns/activitystreams#Public"]
},
"to": ["https://www.w3.org/ns/activitystreams#Public"]
} |
Finally reproduced it. Not sure what I should put in the outer activity's |
I'd put the follower in "to" (since the Accept is a sort of response to their action) and |
Yes! ...sadly that didn't work though, either with or without Here are a few, first with full {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Accept",
"id": "https://fed.brid.gy/r/snarfed.org/followers#accept-2-https://sironi.tk/activities/f038fb5d-d80a-4540-9a3f-1c7d721872ee",
"actor": "https://fed.brid.gy/snarfed.org",
"object": {
"type": "Follow",
"id": "https://sironi.tk/activities/f038fb5d-d80a-4540-9a3f-1c7d721872ee",
"object": "https://fed.brid.gy/snarfed.org",
"actor": "https://sironi.tk/users/luca",
"state": "pending",
"url": "https://sironi.tk/users/luca#followed-snarfed.org",
"to": ["https://fed.brid.gy/snarfed.org"]
},
"to": ["https://sironi.tk/users/luca/inbox"],
"cc": ["https://www.w3.org/ns/activitystreams#Public"]
} ...and also ^ without ...and also with just the follow id in {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Accept",
"id": "https://fed.brid.gy/r/snarfed.org/followers#accept-2-https://sironi.tk/activities/f038fb5d-d80a-4540-9a3f-1c7d721872ee",
"actor": "https://fed.brid.gy/snarfed.org",
"object": "https://sironi.tk/activities/f038fb5d-d80a-4540-9a3f-1c7d721872ee",
"to": ["https://fed.brid.gy/snarfed.org"]
} 🤷 🤷 🤷 |
FYI: I just filed https://git.pleroma.social/pleroma/pleroma/-/issues/3336 |
Ugh, that's a new problem causd by #1331. Thank you for filing the Pleroma bug! |
https://gitgud.io/lambadalambda/pleroma . haven't found a website apart from that. doesn't seem to be used very widely. claims to be OStatus compatible.
Known interop problems so far:
@[email protected]
, not@[email protected]
. Example: https://cawfee.club/search?query=snarfed.org , click on the People tabTODO: file issues on https://git.pleroma.social/pleroma/pleroma/-/issues for these ^
The text was updated successfully, but these errors were encountered: