Ryan Barrett
786173d270
activitypub: point actor ids to bridgy fed, not source web site
...
...since we want to serve them as AS2.
for tootsuite/mastodon#5500
2017-10-23 21:57:08 -07:00
Ryan Barrett
e538f97456
activitypub: prefer id over url for inReplyTo and Like/Announce object
...
as per tootsuite/mastodon#5500
2017-10-23 21:23:33 -07:00
Ryan Barrett
defc9f3b2a
webmention => activitypub: on 2xx, return the activitypub status code
...
useful for mastodon 1.6 202s which usually mean signature verification failed. :(
2017-10-21 16:42:37 -07:00
Ryan Barrett
b7007a4521
fetching AS2: handle Content-Type with charset suffix
2017-10-20 17:35:11 -07:00
Ryan Barrett
c81a6b8ed2
activitypub: follow HTML link rels that point to AS2 objects
...
...by reusing common.get_as2(). also lots of misc refactoring.
2017-10-20 12:49:48 -07:00
Ryan Barrett
e985516dc3
return parsed JSON from common.get_as2(); use it in activitypub
2017-10-20 07:13:04 -07:00
Ryan Barrett
527ca5585b
add common.get_as2()
2017-10-20 07:01:38 -07:00
Ryan Barrett
3922d54359
outbound salmon: fix like and repost support
2017-10-17 18:39:15 -07:00
Ryan Barrett
bf0897ba81
activitypub and salmon: return 501 on unsupported activity type
2017-10-16 22:21:13 -07:00
Ryan Barrett
02f1e67cf9
salmon: return 400 on bad XML
...
also handle URL path with just domain, e.g. /snarfed.org/salmon
2017-10-16 22:02:37 -07:00
Ryan Barrett
db75bd7589
webmention => activitypub: fix likes and reposts
...
thanks to @mblaney for finding!
2017-10-16 21:48:41 -07:00
Ryan Barrett
f940718790
salmon: support incoming likes and shares (reposts)
2017-10-15 16:57:05 -07:00
Ryan Barrett
f119b02f18
render: support atom
2017-10-15 10:50:01 -07:00
Ryan Barrett
c2a3444ba2
update tests for granary converting AS1 displayName to AS2 name
2017-10-12 23:16:32 -07:00
Ryan Barrett
f2fa44bfff
activitypub: fetch and include source actor if necessary
...
e.g. for likes and reposts, so that we can render them in our proxy page.
2017-10-12 23:14:46 -07:00
Ryan Barrett
a11d6745a9
switch incoming salmon/activitypub to overwrite Response
2017-10-12 23:13:54 -07:00
Ryan Barrett
ef89af7372
switch to using Response.get_or_create()
...
also test an incoming activitypub like with an id with a fragment
2017-10-11 18:13:06 -07:00
Ryan Barrett
d74e6f02dd
convert # to __ in source, target URLs in Response key ids
...
...since some fedsocnet like ids (eg Mastodon) include fragments, which webmention receivers (eg wordpress) strip from source before fetching, even when they're URL-encoded in bridgy fed proxy URLs.
also add Response.get_or_create() that handles concatenating source and target.
2017-10-11 18:08:52 -07:00
Ryan Barrett
9a7975bf5d
activitypub: use proxy mf2 URLs for likes and reposts/boosts
...
for #4
2017-10-10 22:42:19 -07:00
Ryan Barrett
98465907ff
add new /render endpoint for rendering Responses as HTML
2017-10-10 07:42:10 -07:00
Ryan Barrett
6a65e2e74a
store source post in Response
...
...so we can use it to render proxy ActivityPub mf2 pages for webmentions
2017-10-09 21:11:40 -05:00
Ryan Barrett
d1c54ff223
activitypub: send Update instead of Create for existing responses
2017-10-09 20:12:17 -05:00
Ryan Barrett
19a686edc3
store responses in new Response datastore model
2017-10-09 19:29:50 -05:00
Ryan Barrett
63a9e47002
outbound webfinger: use full acct: URIs
2017-10-04 09:12:00 -07:00
Ryan Barrett
4f79e6ebd5
incoming activitypub: return 400 for non-replies (likes etc)
...
for #4
2017-10-04 09:07:29 -07:00
Ryan Barrett
a21c94b0f7
mastodon AP interop: add preferredUsername
...
details in https://github.com/tootsuite/mastodon/issues/4906#issuecomment-333680170
2017-10-02 16:53:18 -07:00
Ryan Barrett
1782370f5e
as2: id and type, not @id or @type
...
goes with snarfed/granary@bb6d831c0e
2017-10-01 21:45:00 -07:00
Ryan Barrett
f6a3ca1848
new incoming webmention UI: expect them to add fed.brid.gy link
...
...instead of wrapping URL in fed.brid.gy/wm/... to inject webmention Link endpoint.
2017-10-01 21:43:01 -07:00
Ryan Barrett
4284ef830d
only add AP AS2 publicKey field to Person type; add test
2017-10-01 07:10:12 -07:00
Ryan Barrett
c998901108
update webfinger, AS2, etc for receiving AP
2017-09-28 07:25:21 -07:00
Ryan Barrett
b8bdde7cef
fix tests for 3dd265d
(AS2/AP tweaks for Mastodon)
2017-09-26 07:54:37 -07:00
Ryan Barrett
601bfde5c7
even more AS2-isms for ActivityPub interop with Mastodon
2017-09-24 16:50:24 -07:00
Ryan Barrett
53cf61c980
more AS2-isms for ActivityPub interop with Mastodon
2017-09-20 18:05:33 -07:00
Ryan Barrett
b123088158
activitypub: implement HTTP Signatures using httpsig library
...
thanks @ahknight!
2017-09-19 09:15:51 -07:00
Ryan Barrett
2699de6903
add MagicKey.private_pem() and public_pem()
2017-09-19 09:15:34 -07:00
Ryan Barrett
2320f1ce1e
salmon: return 400 if target post has no Atom version
2017-09-14 06:52:18 -07:00
Ryan Barrett
db8e4249d8
webfinger: discover and return PuSH hub header links
2017-09-13 07:48:32 -07:00
Ryan Barrett
1ff70ffa51
webfinger: use site's own atom feed if available
2017-09-13 07:05:30 -07:00
Ryan Barrett
d265b61f41
drop unnecessary test todos for content-type
2017-09-13 06:48:04 -07:00
Ryan Barrett
dbc009b3ce
minor test fixes: MagicKey id is back to domain w/o username
2017-09-12 09:29:24 -07:00
Ryan Barrett
86c6934a98
webfinger: settle on 'me' username, just domain in paths
2017-09-12 09:07:37 -07:00
Ryan Barrett
5bb62f4021
use future unicode string literals, drop u qualifier
2017-09-12 07:31:18 -07:00
Ryan Barrett
eb774064b3
fix webfinger handler, require username in acct: URI
2017-09-03 15:44:01 -07:00
Ryan Barrett
fb977c5f52
mastodon interop: webmention cleanup, tests
2017-09-03 15:26:41 -07:00
Ryan Barrett
4dd8f7e1a7
mastodon interop: salmon + activitypub + webfinger cleanup, tests
2017-09-03 13:03:31 -07:00
Ryan Barrett
b975d68a72
mastodon interop: webfinger cleanup, tests
2017-09-03 12:35:18 -07:00
Ryan Barrett
76af3231e7
mastodon interop: got webmention => salmon slap to mastodon working!
...
TODO: lots of cleanup and tests
2017-09-03 12:20:37 -07:00
Ryan Barrett
00b2cd4a51
activitypub: singular inReplyTo, also cc in reply to url
...
trying to interoperate with https://distbin.com/ . still not there yet.
2017-08-26 16:04:31 -07:00
Ryan Barrett
c9090401b0
misc tweaks after testing against distbin, mastodon, etc
...
- salmon: use top-level <entry>, not <feed>
- activitypub: actor and attributedTo are objects, not string URLs
- activitypub: cc public audience
- activitypub: use inbox in target post object if available
etc...
2017-08-26 15:20:54 -07:00
Ryan Barrett
541d97d2a4
test_salmon: use current time to pass signature verification
2017-08-26 15:18:33 -07:00