mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[bugfix] always go through status parent dereferencing on isNew, even on data-race (#2402)
* no need to deref status author account, will already be deref'd during previous getStatusByAP{IRI,Model}() * don't unset the isNew flag on dereference data race * improved code comment
This commit is contained in:
@ -19,7 +19,6 @@ package workers
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/url"
|
||||
|
||||
"codeberg.org/gruf/go-kv"
|
||||
"codeberg.org/gruf/go-logger/v2/level"
|
||||
@ -169,25 +168,6 @@ func (p *fediAPI) CreateStatus(ctx context.Context, fMsg messages.FromFediAPI) e
|
||||
return gtserror.Newf("error extracting status from federatorMsg: %w", err)
|
||||
}
|
||||
|
||||
if status.Account == nil || status.Account.IsRemote() {
|
||||
// Either no account attached yet, or a remote account.
|
||||
// Both situations we need to parse account URI to fetch it.
|
||||
accountURI, err := url.Parse(status.AccountURI)
|
||||
if err != nil {
|
||||
return gtserror.Newf("error parsing account uri: %w", err)
|
||||
}
|
||||
|
||||
// Ensure that account for this status has been deref'd.
|
||||
status.Account, _, err = p.federate.GetAccountByURI(
|
||||
ctx,
|
||||
fMsg.ReceivingAccount.Username,
|
||||
accountURI,
|
||||
)
|
||||
if err != nil {
|
||||
return gtserror.Newf("error getting account by uri: %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
if status.InReplyToID != "" {
|
||||
// Interaction counts changed on the replied status; uncache the
|
||||
// prepared version from all timelines. The status dereferencer
|
||||
|
Reference in New Issue
Block a user