[chore] Refresh origin acct before streaming notif
This commit is contained in:
parent
027a93facc
commit
73c1fead12
|
@ -19,6 +19,7 @@ package workers
|
|||
|
||||
import (
|
||||
"github.com/superseriousbusiness/gotosocial/internal/email"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/federation"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/filter/visibility"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/processing/stream"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/state"
|
||||
|
@ -37,4 +38,5 @@ type Surface struct {
|
|||
Stream *stream.Processor
|
||||
Filter *visibility.Filter
|
||||
EmailSender email.Sender
|
||||
Federator *federation.Federator
|
||||
}
|
||||
|
|
|
@ -468,6 +468,20 @@ func (s *Surface) Notify(
|
|||
// with the state-y stuff.
|
||||
unlock()
|
||||
|
||||
// Try to bring notif origin account is up to date,
|
||||
// so receiver of the notif doesn't see an empty
|
||||
// or out-of-date avatar in the stream.
|
||||
updatedOrigin, _, err := s.Federator.RefreshAccount(
|
||||
ctx,
|
||||
targetAccount.Username,
|
||||
originAccount,
|
||||
nil,
|
||||
nil, // default freshness
|
||||
)
|
||||
if err == nil {
|
||||
notif.OriginAccount = updatedOrigin
|
||||
}
|
||||
|
||||
// Stream notification to the user.
|
||||
filters, err := s.State.DB.GetFiltersForAccountID(ctx, targetAccount.ID)
|
||||
if err != nil {
|
||||
|
|
|
@ -61,6 +61,7 @@ func New(
|
|||
Stream: stream,
|
||||
Filter: filter,
|
||||
EmailSender: emailSender,
|
||||
Federator: federator,
|
||||
}
|
||||
|
||||
// Init shared util funcs.
|
||||
|
|
Loading…
Reference in New Issue