Posting to diaspora from Hubzilla


(Shaun Arman) #1

Hope this is the right place to post this.
I have a diaspora account and a Hubzilla account.
I am able to pull posts made from diaspora into hubzilla, but I am unable to comment on said posts and they be seen in diaspora. I believe it has something to do with the face this instance in listed as "Unable to retrieve software version " in the pod network section.
The specific comment I see is this:

Server software: unknown
Response time: 607ms
ConnectionTester::NodeInfoFailure: JSON::Schema::ValidationError: The property ‘#/services’ did not contain a required property of ‘inbound’


If it helps, my diaspora pod is https://social.tftsr.com and my hubzilla pod is https://tftsr.com.
Any advise or pointers is greatly appreciated.


(Dennis Schubert) #2

Please open a bug for Hubzilla, this is not our fault and nothing we can fix.


(Shaun Arman) #3

While I understand this is a Hubzilla issue, I was hoping to find out how diaspora is polling hubzilla, and what exactly it it looking for/at. With this info, I can then work with Hubzilla to determine what is not working.


(Dennis Schubert) #4

With the diaspora protocol, nothing is done with pulling per default. While the protocol has support for fetching public entities, this is not how communication works per default. diaspora works on a push-based delivery.

When you are a user on Node A, and post something, then Node A will push the contents to target nodes. The same goes for comments: if you write a comment on Node A, then Node A will push the comment to the target nodes (the parent’s author node, in the case of a comment). Nothing is pulled here.

If you comment a diaspora post on Hubzilla and they don’t show up on diaspora, then pushing to diaspora failed. This can either be an issue before the push happens (i.e. Hubzilla failing on building the payload), or an error causing diaspora to reject the payload. In case, I see a lot of rejected payloads from a wide range of Hubzilla nodes because the signature is invalid. Given that federation diaspora<->diaspora and diaspora<->friendica works just fine, it is a fair assumption that the error is on Hubzillas side.

You can observe diaspora’s logs/production.log while Hubzilla is sending the comment to diaspora and maybe spot an error message, but the proper approach here would be to check what Hubzilla is sending in the first place, and to check if it’s a valid payload with a valid signature. The documentation for our protocol can be found here, and it’s usually a good starting point. If there are any specific ambiguities, we are usually more than happy to clarify those.

Unfortunately, my knowledge of debugging Hubzilla is exactly zero, and I don’t expect that to be different for anyone else here, which is why I suggested asking the Hubzilla devs.

The error about diaspora not being able to retrieve the software version is probably unrelated, and kinda expected. diaspora uses NodeInfo to detect the version of diaspora in use, and that’s nothing Hubzilla supports.


(Shaun Arman) #5

@denschub Thanks for your clarification. This is the exact info I was hoping to get. I will review the links you provided, then troubleshoot more based of of that. If needed, I will work with Hubzilla support form this point on.
Your explanation of all these protocols using push vis pull made it very clear!


(Shaun Arman) #6

@denschub, sorry to resurrect this, but if you have a look at this post:


You will see it appears like I have everything enabled.
https://tftsr.com/nodeinfo/2.0
even produces the following output:

{“version”:“2.0”,“software”:{“name”:“hubzilla”,“version”:“3.8.3”},“protocols”:[“zot”,“diaspora”,“ostatus”,“activitypub”],“services”:{“outbound”:[“atom1.0”,“dreamwidth”,“gnusocial”,“friendica”,“insanejournal”,“libertree”,“pumpio”,“redmatrix”],“inbound”:[“atom1.0”,“rss2.0”]},“openRegistrations”:true,“usage”:{“users”:{“total”:0,“activeHalfyear”:0,“activeMonth”:0},“localPosts”:0,“localComments”:0},“metadata”:{“nodeName”:“TFTSR Social”}}


(Benjamin Neff) #7

NodeInfo is unrelated to federation at the moment, so it has nothing to do with your problems. Also I think diaspora doesn’t parse NodeInfo 2.0 yet, and 1.0 was never valid for hubzilla (so the warning is expected, but was never a problem). Again, NodeInfo isn’t used for federation at all yet.

If you have problems with the federation, check the protocol, check if signatures are valid, check the log of diaspora which tells you why a post wasn’t processed, and compare the outgoing messages on hubzilla against the protocol documentation. But ignore NodeInfo, it has nothing to do with your problems. Look at the actual messages that don’t work.