mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[dependency] Update superseriousbusiness/activity dependency (#446)
* bump superseriousbusiness/activity version * fetch list of follower inbox iris
This commit is contained in:
18
vendor/github.com/superseriousbusiness/activity/pub/database.go
generated
vendored
18
vendor/github.com/superseriousbusiness/activity/pub/database.go
generated
vendored
@ -59,13 +59,23 @@ type Database interface {
|
||||
//
|
||||
// The library makes this call only after acquiring a lock first.
|
||||
OutboxForInbox(c context.Context, inboxIRI *url.URL) (outboxIRI *url.URL, err error)
|
||||
// InboxForActor fetches the inbox corresponding to the given actorIRI.
|
||||
// InboxesForIRI fetches inboxes corresponding to the given iri.
|
||||
// This allows your server to skip remote dereferencing of iris
|
||||
// in order to speed up message delivery, if desired.
|
||||
//
|
||||
// It is acceptable to just return nil for the inboxIRI. In this case, the library will
|
||||
// attempt to resolve the inbox of the actor by remote dereferencing instead.
|
||||
// It is acceptable to just return nil or an empty slice for the inboxIRIs,
|
||||
// if you don't know the inbox iri, or you don't wish to use this feature.
|
||||
// In this case, the library will attempt to resolve inboxes of the iri
|
||||
// by remote dereferencing instead.
|
||||
//
|
||||
// If the input iri is the iri of an Actor, then the inbox for the actor
|
||||
// should be returned as a single-entry slice.
|
||||
//
|
||||
// If the input iri is a Collection (such as a Collection of followers),
|
||||
// then each follower inbox IRI should be returned in the inboxIRIs slice.
|
||||
//
|
||||
// The library makes this call only after acquiring a lock first.
|
||||
InboxForActor(c context.Context, actorIRI *url.URL) (inboxIRI *url.URL, err error)
|
||||
InboxesForIRI(c context.Context, iri *url.URL) (inboxIRIs []*url.URL, err error)
|
||||
// Exists returns true if the database has an entry for the specified
|
||||
// id. It may not be owned by this application instance.
|
||||
//
|
||||
|
19
vendor/github.com/superseriousbusiness/activity/pub/side_effect_actor.go
generated
vendored
19
vendor/github.com/superseriousbusiness/activity/pub/side_effect_actor.go
generated
vendored
@ -681,7 +681,6 @@ func (a *sideEffectActor) prepare(c context.Context, outboxIRI *url.URL, activit
|
||||
// first check if the implemented database logic can return any inboxes
|
||||
// from our list of actor IRIs.
|
||||
foundInboxesFromDB := []*url.URL{}
|
||||
foundActorsFromDB := []*url.URL{}
|
||||
for _, actorIRI := range r {
|
||||
// BEGIN LOCK
|
||||
err = a.db.Lock(c, actorIRI)
|
||||
@ -689,16 +688,20 @@ func (a *sideEffectActor) prepare(c context.Context, outboxIRI *url.URL, activit
|
||||
return
|
||||
}
|
||||
|
||||
inbox, err := a.db.InboxForActor(c, actorIRI)
|
||||
inboxes, err := a.db.InboxesForIRI(c, actorIRI)
|
||||
if err != nil {
|
||||
// bail on error
|
||||
a.db.Unlock(c, actorIRI)
|
||||
return nil, err
|
||||
}
|
||||
if inbox != nil {
|
||||
|
||||
if len(inboxes) > 0 {
|
||||
// we have a hit
|
||||
foundInboxesFromDB = append(foundInboxesFromDB, inbox)
|
||||
foundActorsFromDB = append(foundActorsFromDB, actorIRI)
|
||||
foundInboxesFromDB = append(foundInboxesFromDB, inboxes...)
|
||||
|
||||
// if we found inboxes for this iri, we should remove it from
|
||||
// the list of actors/iris we still need to dereference
|
||||
r = removeOne(r, actorIRI)
|
||||
}
|
||||
|
||||
// END LOCK
|
||||
@ -708,12 +711,6 @@ func (a *sideEffectActor) prepare(c context.Context, outboxIRI *url.URL, activit
|
||||
}
|
||||
}
|
||||
|
||||
// for every actor we found an inbox for in the db, we should
|
||||
// remove it from the list of actors we still need to dereference
|
||||
for _, actorIRI := range foundActorsFromDB {
|
||||
r = removeOne(r, actorIRI)
|
||||
}
|
||||
|
||||
// look for any actors' inboxes that weren't already discovered above;
|
||||
// find these by making dereference calls to remote instances
|
||||
t, err := a.common.NewTransport(c, outboxIRI, goFedUserAgent())
|
||||
|
Reference in New Issue
Block a user