Commit Graph

9 Commits (89daeb43a88321d6568eeb6ffac68bdc810e41b5)

Author SHA1 Message Date
Eugen Rochko 4c6b5dbe96
Add semi-support for Video/Image objects in ActivityPub ()
* Add semi-support for Video/Image objects in ActivityPub

Video and Image objects will create corresponding status records
with manually crafted text contents (title + URL)

* Extract html-url-finding logic into JsonLdHelper

* Fallback to id when url missing, extract supported object types
puckipedia 0cb329f63a Allow ActivityPub Note's tag and attachment to be single objects ()
Akihiko Odaki 63f0979799 Validate id of ActivityPub representations ()
Additionally, ActivityPub::FetchRemoteStatusService no longer parses
activities.
OStatus::Activity::Creation no longer delegates to ActivityPub because
the provided ActivityPub representations are not signed while OStatus
representations are.
Eugen Rochko 0d5d11eeff Add _:inReplyToAtomUri to ActivityPub ()
Eugen Rochko 00840f4f2e Add handling of Linked Data Signatures in payloads ()
* Add handling of Linked Data Signatures in payloads

* Add a way to sign JSON, fix canonicalization of signature options

* Fix signatureValue encoding, send out signed JSON when distributing

* Add missing security context
unarist 5927b43c0f Ignore empty response in ActivityPub::FetchRemoteStatusService ()
* Ignore empty response in ActivityPub::FetchRemoteStatusService

This fixes `NoMethodError: undefined method `[]' for nil:NilClass` error.

* Check json.nil? in JsonLdHelper#supported_context?
Eugen Rochko 72bb3e03fd Support more variations of ActivityPub keyId in signature ()
- Tries to avoid performing HTTP request if the keyId is an actor URI
- Likewise if the URI is a fragment URI on top of actor URI
- Resolves public key, returns owner if the owner links back to the key
Eugen Rochko 4e75f0d889 Hook up URL-based resource look-up to ActivityPub ()
Eugen Rochko dd7ef0dc41 Add ActivityPub inbox ()
* Add ActivityPub inbox

* Handle ActivityPub deletes

* Handle ActivityPub creates

* Handle ActivityPub announces

* Stubs for handling all activities that need to be handled

* Add ActivityPub actor resolving

* Handle conversation URI passing in ActivityPub

* Handle content language in ActivityPub

* Send accept header when fetching actor, handle JSON parse errors

* Test for ActivityPub::FetchRemoteAccountService

* Handle public key and icon/image when embedded/as array/as resolvable URI

* Implement ActivityPub::FetchRemoteStatusService

* Add stubs for more interactions

* Undo activities implemented

* Handle out of order activities

* Hook up ActivityPub to ResolveRemoteAccountService, handle
Update Account activities

* Add fragment IDs to all transient activity serializers

* Add tests and fixes

* Add stubs for missing tests

* Add more tests

* Add more tests