Jason Robinson
4c665e8743
Fix some edge case crashes of `handle_send` when there are Diaspora protocol receivers
2020-01-12 23:33:49 +02:00
Jason Robinson
6bc85a3bfa
Loosen validation of `TargetIDMixin`
...
It now requires one of the target attributes
to be set, not just `target_id`. This fixes
follows over the Diaspora protocol which broke
with stricter send validation added in 0.19.0.
2020-01-12 00:56:46 +02:00
Jason Robinson
dd55916978
Fix changelog
2019-12-29 23:46:37 +02:00
Jason Robinson
71ccfb9148
Rollback Matrix port removal from hostmeta results
...
Change requires full support for the server discovery flow.
2019-12-29 23:46:04 +02:00
Jason Robinson
557146055c
Matrix and NodeInfo2 hostmeta parsers now clean the port out of the host name
2019-12-29 23:08:05 +02:00
Jason Robinson
8c4e4a2197
Correctly identify some platforms that emulate the Mastodon API
...
Ensure Pixelfed, Kroeg and Kibou instances that emulate the Mastodon API don't get identified as Mastodon instances.
2019-12-29 22:57:02 +02:00
Jason Robinson
9700af7bee
Don't crash on malformed NodeInfo doc
...
Don't crash when parsing an invalid NodeInfo document where the
usage dictionary is not following specification. Some Pleroma
instances have started writing an object there.
2019-12-29 22:28:25 +02:00
Jason Robinson
91dc3ca312
Add missing `response.raise_for_status()` call to the `fetch_document` network helper
...
when fetching with given URL. Error status was already being raised correctly when
fetching by domain and path.
2019-12-29 20:44:32 +02:00
Jason Robinson
f6b2bb6d05
Don't crash loudly when fetching webfinger for Diaspora that does not contain XML
2019-12-15 22:55:21 +02:00
Jason Robinson
1f2fdf3459
Start new development cycle
2019-12-15 22:42:10 +02:00
Jason Robinson
3b31668a4d
Release v0.19.0
2019-12-15 01:46:25 +02:00
Jason Robinson
33f1e4c707
Fix regression in outbound shares
...
Should never ship any code without a unit test...
2019-11-29 11:18:22 +02:00
Jason Robinson
56eeb6d371
Fix typo in handle_send fail early code
2019-11-28 22:22:39 +02:00
Jason Robinson
d84a990510
Fail early in outbound `handle_send` if a payload cannot be generated
...
For a payload which doesn't depend on recipient attributes, no point
in looping all recipients trying.
2019-11-28 21:11:12 +02:00
Jason Robinson
0f7b22bb04
Improve performance of generating ActivityPub payloads
...
For a large number of receivers in `handle_send`.
Only generate payload once and then just copy and attach receivers.
2019-11-28 21:02:13 +02:00
Jason Robinson
e0d818f724
Allow HTTP Signature verification to pass if signature is 24 hours old
...
Previously requirement was 30 seconds, which caused loss of messages
where signature validation didn't happen immediately, but in
a background worker which didn't immediately process the job.
Refs: https://git.feneas.org/socialhome/socialhome/issues/563
2019-11-27 23:21:31 +02:00
Jason Robinson
3290261c59
Merge branch 'ap-webfinger-profile-fetch' into 'master'
...
Support fetching ActivityPub profiles by handle
See merge request jaywink/federation!158
2019-11-02 23:06:24 +00:00
Jason Robinson
55a3d7c3fc
Implement fetching of ActivityPub profiles by handle
...
Using webfinger.
Refs: https://git.feneas.org/socialhome/socialhome/issues/522
2019-11-03 01:03:45 +02:00
Jason Robinson
b69a35b597
Refactoring of webfinger fetching into a more central location
2019-11-03 00:37:10 +02:00
Jason Robinson
d7563380a5
Use both protocols when fetching remote profiles by handle
...
Some ActivityPub platforms implement webfinger lookups for handles.
Try that if we're fetching a remote profile by handle. AP is tried first
then Diaspora.
Refs: https://git.feneas.org/socialhome/socialhome/issues/522
2019-11-03 00:20:10 +02:00
Jason Robinson
30694eafd2
Forgot changelog for the outgoing entity validation
2019-10-11 00:45:49 +03:00
Jason Robinson
a97b7b15b9
Merge branch 'vaildate-outbound-entities' into 'master'
...
Always validate outbound entities
See merge request jaywink/federation!157
2019-10-10 21:28:02 +00:00
Jason Robinson
ee7f3aef60
Only validate signatures for inbound entities
...
For now anyway.
2019-10-11 00:13:10 +03:00
Jason Robinson
9b137c491d
Always validate outbound entities
...
This should stop invalid payloads being sent out, like shares
to the Diaspora network that have no target_guid (due to originating
from the AP side).
Temporary solution until mock posts are automatically created for
better cross-compatibility.
Refs: https://git.feneas.org/socialhome/socialhome/issues/522
2019-10-10 23:21:05 +03:00
Jason Robinson
91b074118b
Start dev development cycle 0.19.0-dev
2019-10-10 22:37:03 +03:00
Jason Robinson
e39896b958
Forgot to ensure ActivityPub support is always on. Release 0.18.1.
2019-10-06 15:03:52 +03:00
Jason Robinson
ee1f2bb8a0
Add twine to dev requirements
2019-10-06 02:04:48 +03:00
Jason Robinson
a5373347fe
Release 0.18.0
2019-10-06 01:58:54 +03:00
Jason Robinson
c90d8a72e0
Some clarifications for the docs and readme
2019-10-06 01:57:24 +03:00
Jason Robinson
041a44a525
Ensure ActivitypubComment can have public attribute
...
This is required since unlike our base Comment, Activitypub
originating comments will possibly have a public namespace
as a target. We represent that internally with the "public"
attribute.
2019-10-01 20:59:31 +03:00
Jason Robinson
8d2bc74556
Attach mentions in ActivityPub outgoing payloads
...
Any mentions given in the _mentions list or found in the raw_content
are attached as Mention tags before sending.
https://git.feneas.org/socialhome/socialhome/issues/522
2019-09-08 23:52:23 +03:00
Jason Robinson
c5297fd940
Fix small error in docs
2019-09-08 23:08:18 +03:00
Jason Robinson
64f266e544
Refactor extract_mentions logic to base RawContentMixin
...
Since we're going to reuse the Diaspora style mentions syntax
(without the display name part), pull out the mentions extract code
from the Diaspora mixins to the base mixins.
2019-09-08 23:04:08 +03:00
Jason Robinson
2ff4e24821
Add some extra documentation on how certain protocol features are handled
2019-09-08 22:48:47 +03:00
Jason Robinson
c3fd773f78
Extract mentions from ActivityPub payload content
2019-09-08 02:21:08 +03:00
Jason Robinson
7e93dc3da3
Fix _allowed_children check
2019-09-08 02:03:51 +03:00
Jason Robinson
c997a1a2b4
Ensure diaspora mention is extracted even without display name part
2019-09-08 02:03:06 +03:00
Jason Robinson
42b6736361
Transform any found key in an AP payload if no other mapping
2019-09-08 02:00:11 +03:00
Jason Robinson
a76e68b491
Accept both Document and Image objects as attachments
2019-09-08 01:59:31 +03:00
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