mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-11-17 03:17:30 -06:00
[bugfix] Don't return Account or Status if new and dereferencing failed, other small fixes (#2563)
* tidy up account, status, webfingering logic a wee bit * go fmt * invert published check * alter resp initialization * get Published from account in typeutils * don't instantiate error for no darn good reason * shadow err * don't repeat error codes in wrapped errors * don't wrap error unnecessarily
This commit is contained in:
parent
ad6f75694e
commit
a3aa6042d7
12 changed files with 461 additions and 210 deletions
|
|
@ -77,6 +77,18 @@ func (c *Converter) ASRepresentationToAccount(ctx context.Context, accountable a
|
|||
return nil, gtserror.SetMalformed(err)
|
||||
}
|
||||
|
||||
// Extract published time if possible.
|
||||
//
|
||||
// This denotes original creation time
|
||||
// of the account on the remote instance.
|
||||
//
|
||||
// Not every implementation uses this property;
|
||||
// so don't bother warning if we can't find it.
|
||||
if pub := ap.GetPublished(accountable); !pub.IsZero() {
|
||||
acct.CreatedAt = pub
|
||||
acct.UpdatedAt = pub
|
||||
}
|
||||
|
||||
// Extract a preferred name (display name), fallback to username.
|
||||
if displayName := ap.ExtractName(accountable); displayName != "" {
|
||||
acct.DisplayName = displayName
|
||||
|
|
@ -314,7 +326,7 @@ func (c *Converter) ASStatusToStatus(ctx context.Context, statusable ap.Statusab
|
|||
|
||||
// status.Published
|
||||
//
|
||||
// Extract published time for the boost,
|
||||
// Extract published time for the status,
|
||||
// zero-time will fall back to db defaults.
|
||||
if pub := ap.GetPublished(statusable); !pub.IsZero() {
|
||||
status.CreatedAt = pub
|
||||
|
|
|
|||
|
|
@ -138,6 +138,7 @@ func (suite *ASToInternalTestSuite) TestParseGargron() {
|
|||
acct, err := suite.typeconverter.ASRepresentationToAccount(context.Background(), rep, "")
|
||||
suite.NoError(err)
|
||||
suite.Equal("https://mastodon.social/inbox", *acct.SharedInboxURI)
|
||||
suite.Equal(int64(1458086400), acct.CreatedAt.Unix())
|
||||
}
|
||||
|
||||
func (suite *ASToInternalTestSuite) TestParseReplyWithMention() {
|
||||
|
|
|
|||
|
|
@ -279,6 +279,8 @@ const (
|
|||
"url": "https://mastodon.social/@Gargron",
|
||||
"manuallyApprovesFollowers": false,
|
||||
"discoverable": true,
|
||||
"indexable": true,
|
||||
"published": "2016-03-16T00:00:00Z",
|
||||
"devices": "https://mastodon.social/users/Gargron/collections/devices",
|
||||
"alsoKnownAs": [
|
||||
"https://tooting.ai/users/Gargron"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue