[feature] Allow delivery to sharedInboxes where possible (#847)

* update Activity

* add instance-deliver-to-shared-inboxes setting

* update activity version again

* add SharedInboxURI field to accounts

* serdes for endpoints/sharedInbox

* deliver to sharedInbox if one is available

* update tests

* only assign shared inbox if shared domain

* look for shared inbox if currently nil

* go fmt

* finger to get params.RemoteAccountID if necessary

* make comments clearer

* compare dns more consistently
This commit is contained in:
tobi 2022-09-23 21:27:35 +02:00 committed by GitHub
commit 69a193dae5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
69 changed files with 2212 additions and 32 deletions

View file

@ -20,6 +20,7 @@ import (
propertydeleted "github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_deleted"
propertydescribes "github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_describes"
propertyduration "github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_duration"
propertyendpoints "github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_endpoints"
propertyendtime "github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_endtime"
propertyfirst "github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_first"
propertyfollowers "github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_followers"
@ -61,6 +62,7 @@ import (
propertyreplies "github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_replies"
propertyresult "github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_result"
propertysensitive "github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_sensitive"
propertysharedinbox "github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_sharedinbox"
propertyshares "github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_shares"
propertysource "github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_source"
propertystartindex "github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_startindex"
@ -91,6 +93,7 @@ import (
typedelete "github.com/superseriousbusiness/activity/streams/impl/activitystreams/type_delete"
typedislike "github.com/superseriousbusiness/activity/streams/impl/activitystreams/type_dislike"
typedocument "github.com/superseriousbusiness/activity/streams/impl/activitystreams/type_document"
typeendpoints "github.com/superseriousbusiness/activity/streams/impl/activitystreams/type_endpoints"
typeevent "github.com/superseriousbusiness/activity/streams/impl/activitystreams/type_event"
typeflag "github.com/superseriousbusiness/activity/streams/impl/activitystreams/type_flag"
typefollow "github.com/superseriousbusiness/activity/streams/impl/activitystreams/type_follow"
@ -199,6 +202,7 @@ func init() {
propertydeleted.SetManager(mgr)
propertydescribes.SetManager(mgr)
propertyduration.SetManager(mgr)
propertyendpoints.SetManager(mgr)
propertyendtime.SetManager(mgr)
propertyfirst.SetManager(mgr)
propertyfollowers.SetManager(mgr)
@ -240,6 +244,7 @@ func init() {
propertyreplies.SetManager(mgr)
propertyresult.SetManager(mgr)
propertysensitive.SetManager(mgr)
propertysharedinbox.SetManager(mgr)
propertyshares.SetManager(mgr)
propertysource.SetManager(mgr)
propertystartindex.SetManager(mgr)
@ -270,6 +275,7 @@ func init() {
typedelete.SetManager(mgr)
typedislike.SetManager(mgr)
typedocument.SetManager(mgr)
typeendpoints.SetManager(mgr)
typeevent.SetManager(mgr)
typeflag.SetManager(mgr)
typefollow.SetManager(mgr)
@ -361,6 +367,7 @@ func init() {
typedelete.SetTypePropertyConstructor(NewJSONLDTypeProperty)
typedislike.SetTypePropertyConstructor(NewJSONLDTypeProperty)
typedocument.SetTypePropertyConstructor(NewJSONLDTypeProperty)
typeendpoints.SetTypePropertyConstructor(NewJSONLDTypeProperty)
typeevent.SetTypePropertyConstructor(NewJSONLDTypeProperty)
typeflag.SetTypePropertyConstructor(NewJSONLDTypeProperty)
typefollow.SetTypePropertyConstructor(NewJSONLDTypeProperty)