#activitypub

git checkout -b activitypub

Time to start taking #Python #federation to multi-protocol stage, as it was planned to be from the start ;) Might take a while but got to start some day!

#activitypub

Jason Robinson
16 days ago
1

Okay, let's chat about it! I've been wanting to see what other people in the #diaspora community think about #activitypub

Let's talk about ActivityPub

I wanted to follow up on this Github Issue, in the hopes of furthering useful discussion with the people who presently work on Diaspora.

Sean Tilley
16 days ago

federation 0.11.0 released

Federation is a #Python library for abstracting #federated #social network protocols through one API. Currently #Diaspora is supported for status messages, comments and likes + all the signing and discovery related parts. Plan is to start working on #ActivityPub support in the next few months.

If you would like to participate or want to talk about the library, pop into IRC FreeNode #python-federation or join the Gitter chatroom.

Release on GitHub.

Release notes

Backwards incompatible changes

Diaspora protocol support added for comment and like relayable types. On inbound payloads the signature included in the payload will be verified against the sender public key. A failed verification will raise SignatureVerificationError. For outbound entities, the author private key will be used to add a signature to the payload.

This introduces some backwards incompatible changes to the way entities are processed. Diaspora entity mappers get_outbound_entity and entity utilities get_full_xml_representation now requires the author private_key as a parameter. This is required to sign outgoing Comment and Reaction (like) entities.

Additionally, Diaspora entity mappers message_to_objects and element_to_objects now take an optional sender_key_fetcher parameter. This must be a function that when called with the sender handle will return the sender public key. This allows using locally cached public keys instead of fetching them as needed. NOTE! If the function is not given, each processed payload will fetch the public key over the network.

A failed payload signature verification now raises a SignatureVerificationError instead of a less specific AssertionError.

Added

  • Three new attributes added to entities.
    • Add protocol name to all entities to attribute _source_protocol. This might be useful for applications to know which protocol payload the entity was created from once multiple protocols are implemented.
    • Add source payload object to the entity at _source_object when processing it.
    • Add sender public key to the entity at _sender_key, but only if it was used for validating signatures.
  • Add support for the new Diaspora payload properties coming in the next protocol version. Old XML payloads are and will be still supported.
  • DiasporaComment and DiasporaLike will get the order of elements in the XML payload as a list in xml_tags. For implementers who want to recreate payloads for these relayables, this list should be saved for later use.
  • High level federation.outbound.handle_send helper function now allows sending entities to a list of recipients without having to deal with payload creation or caring about the protocol (in preparation of being a multi-protocol library).
    • The function takes three parameters, entity that will be sent, from_user that is sending (note, not necessarely authoring, this user will be used to sign the payload for Diaspora for example) and a list of recipients as tuples of recipient handle/domain and optionally protocol. In the future, if protocol is not given, it will be guessed from the recipient handle, and if necessary a network lookup will be made to see what protocols the receiving identity supports.
    • Payloads will be delivered to each receiver only once. Currently only public messages are supported through this helper, so multiple recipients on a single domain will cause only one delivery.

Changed

  • Refactor processing of Diaspora payload XML into entities. Diaspora protocol is dropping the <XML><post></post></XML> wrapper for the payloads. Payloads with the wrapper will still be parsed as before.
Jason Robinson
6 days ago (edited)

https://twitter.com/dustyweb/status/859485374216843265

#nextcloud #activitypub


Jason Robinson
a month ago

To celebrate the new coming up #NodeInfo version, which improves slightly but still falls short for being a flexible way of describing server metadata, I updated my alternative version draft a bit. The spec now gives recommendation on how to expose metadata from #ActivityPub implementers, which the original NodeInfo is not suitable for (due to dependence on /.well-known and multiple versioning).

https://github.com/jaywink/nodeinfo2

Comments welcome :) WIll implement in the-federation.info soon.

#decentralization #federation

jaywink/nodeinfo2
nodeinfo2 - NodeInfo2 is an effort to create a standardized way of exposing metadata about a server.

Jason Robinson
a month ago
5

https://twitter.com/dustyweb/status/853754426099630081

#activitypub #federation #tutorial


Jason Robinson
a month ago

Looks like some WIP work is being done on #pumpio side towards #ActivityPub and also some folks at #Mastodon camp are showing interest. Lets hope this is the start of a brand new time in #federated social web. If there is a kick-off with these stacks, maybe #diaspora will some day follow? ActivityPub, if successful, would allow so much more flexibility than what is currently possible with all the old legacy stuff.

Jason Robinson
2 months ago

Oh boy, Evan Prodromou (of #StatusNet / #Pump / #OStatus fame) showed up on #Diaspora's GitHub Issue tracker and asked that we support #ActivityPub

Issue here: https://github.com/diaspora/diaspora/issues/7422

It's a nice thought, and hopefully we can do that in the long term. But some part of me is apprehensive about the spec and the leg work it will take to support it.

There are certain unanswered questions, such as "Will ActivityPub support Diaspora's federated privacy controls?"

Support ActivityPub · Issue #7422 · diaspora/diaspora
Diaspora should support the ActivityPub ("AP") standard. AP provides a client-to-server API as well as a server-to-server federation protocol. It is the successor to the OStatus standard partially ...

Sean Tilley
2 months ago

https://twitter.com/dustyweb/status/851172141378805760

#activitypub #decentralization #federation


Jason Robinson
2 months ago

All this #Mastodon buzz going on makes me think again of hacking #OStatus #federation support for #Socialhome, before trying to do #ActivityPub. Let's see if the buzz is still going on when I most likely have time to do it, around June when I'm off from work for a few months :)

Jason Robinson
2 months ago
2

FOSDEM 2017 - Accepted developer rooms

Jason RobinsonJason Robinson wrote the following post Mon, 17 Oct 2016 16:23:33 -0500

FOSDEM 2017 - Accepted developer rooms
I see there is a "Decentralized internet" room for the first time, great news! Anyone from #Diaspora, #Friendica, #Hubzilla, #GNUSocial, #Pumpio, #Mediagoblin or other #decentralized social network project peeps planning to submit talks? Doesn't look like the call for proposals is out yet for this room. Will be sure to spend some time in this room in any case.

@ (Christopher) - maybe a good chance to push out #ActivityPub if you're planning to attend this year, hmm?

FOSDEM 2017 - Accepted developer rooms

Image/photo

> We are pleased to announce the developer rooms that will be organised at FOSDEM 2017. Developer rooms are assigned to self-organising groups to work together on open source projects, to discuss topics relevant to a broader subset of the community, etc. The individual developer room organisers will issue their calls for participation in the next few...

#FOSDEM #decentralize #internet #thefederation

#Decentralization @{We Distribute ; wedistribute@lastauth.com} @{LibertyPod+ ; liberty@libertypod.com} @{Gadget Guru+ ; gadget@lastauth.com}

Seth Martin
7 months ago

FOSDEM 2017 - Accepted developer rooms

I see there is a "Decentralized internet" room for the first time, great news! Anyone from #Diaspora, #Friendica, #Hubzilla, #GNUSocial, #Pumpio, #Mediagoblin or other #decentralized social network project peeps planning to submit talks? Doesn't look like the call for proposals is out yet for this room. Will be sure to spend some time in this room in any case.

@{MediaGoblin ; mediagoblin@joindiaspora.com} (Christopher) - maybe a good chance to push out #ActivityPub if you're planning to attend this year, hmm?

https://fosdem.org/2017/news/2016-10-10-accepted-developer-rooms/

#FOSDEM #decentralize #internet #thefederation

Jason Robinson
7 months ago