Open nigini opened 4 weeks ago
I haven't had any trouble with our implementation that I can recall, but I also can't recall whether I've followed anyone new lately. I am pretty sure it is a requirement of the protocol that a follow request has to be sent and allowed in order to follow someone. I think most servers default their users to approving followers automatically, ours included (fortunately that's easy to turn off), so if the exchange goes smoothly and quickly enough it's entirely possible some clients won't ever show the state of the request having been sent but not accepted yet...
Good reminder... It can totally be something related to how the other server is handling follow requests... Will investigate!
Documenting some observations: our outgoing_worker.log
shows a 401 when trying to post the follow activity to the other server actor's inbox:
httpx.HTTPStatusError: Client error '401 Unauthorized' for url 'https://velhaestante.com.br/user/nigini/inbox'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401
2024-10-27 05:14:31.480 | INFO | app.outgoing_activities:fetch_next_outgoing_activity:173 - 1 outgoing activities ready to process
2024-10-27 05:14:31.483 | INFO | app.outgoing_activities:process_next_outgoing_activity:200 - recipient=https://velhaestante.com.br/user/nigini/inbox
2024-10-27 05:14:31.484 | INFO | app.outgoing_activities:process_next_outgoing_activity:236 - payload={'@context': 'https://www.w3.org/ns/activitystreams', 'id': 'https://blog.nigini.me/o/78853f6bb63548369732c5541b591ec4', 'type': 'Follow', 'actor': 'https://blog.nigini.me', 'object': 'https://velhaestante.com.br/user/nigini'}
2024-10-27 05:14:31.484 | INFO | app.activitypub:post:394 - Posting https://velhaestante.com.br/user/nigini/inbox (payload={'@context': 'https://www.w3.org/ns/activitystreams', 'id': 'https://blog.nigini.me/o/78853f6bb63548369732c5541b591ec4', 'type': 'Follow', 'actor': 'https://blog.nigini.me', 'object': 'https://velhaestante.com.br/user/nigini'})
2024-10-27 05:14:31.522 | INFO | app.httpsig:auth_flow:318 - keyid=https://blog.nigini.me#main-key
2024-10-27 05:14:31.526 | DEBUG | app.httpsig:auth_flow:346 - signed request sig_value='keyId="https://blog.nigini.me#main-key",algorithm="rsa-sha256",headers="(request-target) user-agent host date digest content-type",signature="SIGNATURE_HERE"'
2024-10-27 05:14:32.940 | ERROR | app.outgoing_activities:process_next_outgoing_activity:240 - Failed
The other server is a Bookwyrm instance, which have had similar issues while Federating with GoToSocial instances. Considering there was a lot of debugging between those two providers, I am guessing we need to do some updating to our Post Auth Negotiation, but am still learning about this!
I think I bumped into this a couple of times: it seems that the MBP (a.k.a. microblog.pub) does not follow others instantly, but only sends a request... This doesn't seem to be a standard think in the Fediverse (or if it is, some software does not implement it.) For instance, I tried to follow my BookWyrm account and never received the Follow Request there.
Here is what shows up when I look up the account again:
Any ideas?