ActivityPub support #1241

Open
strugee opened this Issue Nov 16, 2016 · 8 comments

Comments

6 participants
@strugee
Owner

strugee commented Nov 16, 2016

ActivityPub support is now being developed in the activitypub branch.

Copypasta from a list of general ActivityPub implementation tasks that I wrote:

Have we implemented URLs for:

  • Object id properties? (Section 3.2 Retrieving objects)
  • GET Actor inboxes #1552
  • POST Actor inboxes with HTTP Signature #1572
  • GET Actor outboxes
  • POST Actor outboxes with OAuth 2.0 #1571
  • Actor Following collections?
  • Actor Followers collections?
  • Actor Liked collections? (optional)
  • Binary uploads? (Section 6 Uploading Media, optional not optional for us)

AuthZ/AuthC:

Conversion:

  • AS1 -> AS2
  • AS2 -> AS1

Do we handle:

  • The special Public collection?
  • Local Activity side effects (including Undo side effects)?
  • Server-to-server Activity side effects?
  • Linked Data Notifications RDF representations (very optional)? (Section 8.1 Delivery) not for us

Do we:

  • Properly support Actor simplified login naming? (Section 4)
  • Deliver activities properly?
  • Implement authentication and authorization checks for clients?
  • Do the same for server-to-server interactions?
  • Scrub Activities for cross-site scripting attacks?
  • Have a plan for combating spam?

In addition to the generic AP stuff, we have an existing network/project to worry about. So, we also need to:

  • Handle AS2 vs. AS1 differences
  • Handle S2S differences? I've forgotten what the plan on this is to be honest
  • Migrate the web UI to understanding AS2
  • Migrate the web UI to using AP endpoints
  • Test everything
  • Run the AP test suite against our implementation

@strugee strugee added this to the Near future milestone Nov 16, 2016

@strugee strugee self-assigned this Nov 16, 2016

@jankusanagi

This comment has been minimized.

Show comment Hide comment
@jankusanagi

jankusanagi Nov 24, 2016

Contributor

Looking forward to this =)

Contributor

jankusanagi commented Nov 24, 2016

Looking forward to this =)

@erincandescent

This comment has been minimized.

Show comment Hide comment
@erincandescent

erincandescent Jan 27, 2017

WRT ID properties: I'd suggest leaving them as is and content negotiating on the existing endpoints. AP clients are required to set their Accept header when doing a GET request such that "application/ld+json; profile="https://www.w3.org/ns/activitystreams#"" is negotiated; and you can of course identify ActivityPub posts by their content type.

This permits clients to do "transparent" upgrades: They can start requesting AS2 content, and will migrate to AP as and when the servers do, without any need to rewrite URIs, etc.

WRT ID properties: I'd suggest leaving them as is and content negotiating on the existing endpoints. AP clients are required to set their Accept header when doing a GET request such that "application/ld+json; profile="https://www.w3.org/ns/activitystreams#"" is negotiated; and you can of course identify ActivityPub posts by their content type.

This permits clients to do "transparent" upgrades: They can start requesting AS2 content, and will migrate to AP as and when the servers do, without any need to rewrite URIs, etc.

@strugee

This comment has been minimized.

Show comment Hide comment
@strugee

strugee Jan 28, 2017

Owner

@oshepherd yeah, I agree. Unless any unexpected issues come up that's probably going to be the way this goes.

Owner

strugee commented Jan 28, 2017

@oshepherd yeah, I agree. Unless any unexpected issues come up that's probably going to be the way this goes.

@strugee strugee referenced this issue in tootsuite/mastodon Apr 11, 2017

Closed

ActivityPub support #1557

10 of 15 tasks complete

@strugee strugee removed the test suite label Apr 19, 2017

@snarfed

This comment has been minimized.

Show comment Hide comment
@snarfed

snarfed Aug 2, 2017

definitely looking forward to this! I've been sketching designs to bridge indieweb to ostatus and activitypub, a la https://brid.gy (some background in https://indieweb.org/2017/ostatusbridge ; thanks @strugee!), and I hope to include pump.io.

snarfed commented Aug 2, 2017

definitely looking forward to this! I've been sketching designs to bridge indieweb to ostatus and activitypub, a la https://brid.gy (some background in https://indieweb.org/2017/ostatusbridge ; thanks @strugee!), and I hope to include pump.io.

@clacke

This comment has been minimized.

Show comment Hide comment
@evanp

This comment has been minimized.

Show comment Hide comment
@evanp

evanp Apr 9, 2018

Contributor

I think we're doing all this in the as2 branch now.

Contributor

evanp commented Apr 9, 2018

I think we're doing all this in the as2 branch now.

@evanp

This comment has been minimized.

Show comment Hide comment
@evanp

evanp Apr 9, 2018

Contributor

Could we convert this to a project on Github? Every one of these checkboxes is a big effort and probably deserves its own issue. They could at least be assigned to different people.

Contributor

evanp commented Apr 9, 2018

Could we convert this to a project on Github? Every one of these checkboxes is a big effort and probably deserves its own issue. They could at least be assigned to different people.

@strugee

This comment has been minimized.

Show comment Hide comment
@strugee

strugee Apr 9, 2018

Owner

Absolutely. The checkboxes were easier for me when I was the only one working on it but I'm but attached to them. Do you want to split stuff off or should I?

Owner

strugee commented Apr 9, 2018

Absolutely. The checkboxes were easier for me when I was the only one working on it but I'm but attached to them. Do you want to split stuff off or should I?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment