Wykres commitów

730 Commity (ld-signatures)

Autor SHA1 Wiadomość Data
Jason Robinson c4e54d0027 Merge ImageObject into the base Image entity
No point having a separate object type when the features
of it match the entity Image type.

Also send out Image instead of Document for image type
attachments. Lets see if Mastodon and others are fine
with this.

Refs: https://git.feneas.org/socialhome/socialhome/issues/522
2019-09-08 00:12:04 +03:00
Jason Robinson 54ecc5aea5 Always use markdownified `object.content` if `object.source` not markdown
This avoids for example text/bbcode ending up as raw_content which
we reserve for markdown.

Refs: https://git.feneas.org/socialhome/socialhome/issues/522
2019-09-03 23:25:45 +03:00
Jason Robinson 7dad9c8109 Add tags found on raw_content when sending ActivityPub entities
Tags are added as "type: Hashtag" objects into the payload object.

Refs: https://git.feneas.org/socialhome/socialhome/issues/522
2019-09-03 22:51:41 +03:00
Jason Robinson bac1e1f8e3 Parse attachments from fetched ActivityPub objects
For example images when processing a share of an unknown post.

Refs: https://git.feneas.org/socialhome/socialhome/issues/522
2019-09-02 23:31:07 +03:00
Jason Robinson f97be514cb Allow public key to be passed also as str to handle_send
This allows apps to serialize sending to things like Redis easier.
2019-08-31 14:44:01 +03:00
Jason Robinson e5dd3db0dc Fix delinkifier for hashtags and adjust tests 2019-08-31 14:10:11 +03:00
Jason Robinson d85126d605 Adjust ActivityPub hashtag delinkifier for markdown tag links
Since we now convert HTML to Markdown.
2019-08-29 23:35:32 +03:00
Jason Robinson 1070831b2d Support a larger set of ActivityPub Actor types 2019-08-29 23:17:23 +03:00
Jason Robinson da2d436fdf Allow UserType.private_key to be passed in as a string
This allows the UserType object to be serialized to for example
redis based background workers.

To get the real RsaKey object, use the UserType.rsa_private_key
property.
2019-08-29 22:50:57 +03:00
Jason Robinson 3dd18e301e Merge branch 'markdownify-html' into 'master'
Markdownify incoming HTML content from ActivityPub layer

See merge request jaywink/federation!156
2019-08-26 20:01:55 +00:00
Jason Robinson 49da8c0818 Add Python 3.7 to setup.py classifiers. Small tweaks to texts and tags. 2019-08-26 22:26:02 +03:00
Jason Robinson ed0b6c21e9 Add docs for the content/source HTML/Markdown rules 2019-08-26 22:24:09 +03:00
Jason Robinson 19fc2ad1dc Make a line of code prettier 2019-08-25 23:14:08 +03:00
Jason Robinson b17f5b5823 Host meta fetchers now support NodeInfo 2.1
This seems unreleased, and doesn't really add anything useful,
but just seen it in the wild.
2019-08-25 23:13:57 +03:00
Jason Robinson eab497d8fc Don't totally die fetching nodeinfo doc if it's broken
Check for JSONDecodeError and abort if a broken doc is found.
2019-08-25 23:13:14 +03:00
Jason Robinson e92792fa35 Markdownify incoming HTML content from ActivityPub layer 2019-08-25 22:55:00 +03:00
Jason Robinson 8bc398aec5 Really fix Mastodon hashtag de-linkifier 2019-08-18 23:43:24 +03:00
Jason Robinson 93e7ec3863 Fix Mastodon hashtag de-linkifier regexp 2019-08-18 23:20:46 +03:00
Jason Robinson 61a0fc442b Add media type and rendered content to entities with raw_content
Entities with `raw_content` now also contain a `_media_type` and
`rendered_content`.

The default `_media_type` is `text/markdown` except for ActivityPub
originating posts it defaults to `text/html`. If the ActivityPub
payload contains a `source`, that mediaType will be used instead.
2019-08-18 22:37:18 +03:00
Jason Robinson b0c6be6cd7 Add pyfed:inlineImage property to ActivityPub attachments
If we rip out embedded images from raw_content then mark them as
pyfed:inlineImage. Receiving side will know then that those
attachments are included as inline images should they wish to
exclude those, if they support inline images via markdown or html.

Also rip out all embedded images, not just the ones from the
senders domain.
2019-08-18 21:43:27 +03:00
Jason Robinson 88bf593e2e Fix pyfed namespace in tests 2019-08-18 20:01:14 +03:00
Jason Robinson e670f882f8 Fix and document the pyfed namespace 2019-08-18 19:56:08 +03:00
Jason Robinson 5045127072 Add a pyfed context to all AP payloads 2019-08-18 04:42:14 +03:00
Jason Robinson 564f917f7a Render content with commonmark, save markdown to source 2019-08-18 04:25:13 +03:00
Jason Robinson 441a65e18a Merge branch 'activitypub-outbound-local-images' into 'master'
Activitypub outbound embedded images

See merge request jaywink/federation!155
2019-08-18 00:48:14 +00:00
Jason Robinson 9ef0fd4547 Fix calling pre_send 2019-08-18 03:20:35 +03:00
Jason Robinson f7f7d55ad8 Add entity children as attachments to Note based ActivityPub payloads
To support outgoing images.
2019-08-17 22:52:53 +03:00
Jason Robinson 00d243a785 Attach local images embedded into Post and Comment as attachments for AP
Rip out any embedded images for the senders domain into
entity._children list of Image objects.
2019-08-17 22:30:27 +03:00
Jason Robinson b03be01e59 Add more notes about ActivityPub support status to docs 2019-08-17 18:25:38 +03:00
Jason Robinson 9e536c8f2b Changelog for Image entity refactor 2019-08-17 18:21:23 +03:00
Jason Robinson 9617737993 Merge branch 'images-from-ap' into 'master'
Extract images from ActivityPub payloads

See merge request jaywink/federation!154
2019-08-17 15:15:53 +00:00
Jason Robinson c2ae43fd4d Move allowed image types to a constant in AP objects 2019-08-17 18:08:01 +03:00
Jason Robinson 138f7263a1 Extract images as entity children from ActivityPub payloads 2019-08-17 18:00:34 +03:00
Jason Robinson 2547a4d38c Don't fail whole send process on failure to sign diaspora public payload
In the case that the root content is from ActivityPub world, sending
a reply for it wont currently work due to the problem of signing
the reply by the author, as there is no target guid to refer to.

We should fix this with various compatibility layers but for now
just raise an error in the log and continue to send to the activitypub
receivers.
2019-08-11 23:21:47 +03:00
Jason Robinson 33c4b903b1 Ensure AP mappers recognize public namespace in receivers 2019-08-11 01:34:27 +03:00
Jason Robinson b3b592385c Make AP 'to' always a list 2019-08-11 01:29:30 +03:00
Jason Robinson 9602b70c5d Merge branch 'remove-links-from-ap-tags' into 'master'
Unlinkify tags on content from Mastodon

See merge request jaywink/federation!153
2019-08-07 21:17:27 +00:00
Jason Robinson c51acadeb9 Unlinkify tags on content from Mastodon
Remove the <a> and <span> tags to make them just tags in text.
2019-08-08 00:12:32 +03:00
Jason Robinson 25a1ae660c Merge branch 'activitypub-share' into 'master'
Add support for ActivityPub Announce

See merge request jaywink/federation!152
2019-08-06 21:22:49 +00:00
Jason Robinson 6e403cb1ae Support outgoing retraction of shares in ActivityPub 2019-08-07 00:05:49 +03:00
Jason Robinson a5fe105b6c Support incoming retraction of ActivityPub shares 2019-08-06 23:56:55 +03:00
Jason Robinson 27a77e1316 Better support for fetching objects with ActivityPub 2019-08-06 23:18:24 +03:00
Jason Robinson ade389c236 Use also attributedTo for ActivityPub object actor_id's 2019-08-06 01:28:55 +03:00
Jason Robinson d6dd046b94 Fix check for followers in to/cc 2019-08-06 01:13:24 +03:00
Jason Robinson f41b2fb9d8 Add ActivityPub support for retrieve_remote_content fetcher 2019-08-06 00:53:27 +03:00
Jason Robinson 79f580d01f Add support for ActivityPub Announce
Becomes a Share entity.

Refs: https://git.feneas.org/socialhome/socialhome/issues/522
2019-08-05 01:15:11 +03:00
Jason Robinson 91cb60aac5 Bump allowed Django version in dev requirements 2019-08-04 23:23:39 +03:00
Jason Robinson 0489caf151 Merge branch 'add-receivers-to-entity' into 'master'
Add receivers in mappers to inbound entities

See merge request jaywink/federation!151
2019-08-04 19:24:18 +00:00
Jason Robinson 41637e7688 Add receivers in mappers to inbound entities
Entities processed by inbound mappers will now have a list of
receivers in `_receivers`. This replaces the
`_receiving_actor_id` which was previously set for Diaspora entities.

UserType now has a `receiver_variant` which is one of `ReceiverVariant`
enum. `ACTOR` means this receiver is a single actor ID.
`FOLLOWERS` means this is the followers of the ID in the receiver.

Contains terrible hack to figure out if ActivityPub to/cc contains
a reference to the followers collection of the sender 🙈 . Will replace
"later" with proper fetch+cache solution, once we have a cache.

Refs: https://git.feneas.org/socialhome/socialhome/issues/522
2019-08-04 17:41:08 +03:00
Jason Robinson d9637a6ae5 Merge branch 'activitypub-retractions' into 'master'
Add support for Retraction to/from ActivityPub

See merge request jaywink/federation!150
2019-07-20 23:03:18 +00:00