diff options
author | 2023-03-01 18:52:44 +0100 | |
---|---|---|
committer | 2023-03-01 17:52:44 +0000 | |
commit | 24cec4e7aab33b6c44ba6d1ecf16895f254351b8 (patch) | |
tree | cf0107a34e0fa00ab1b68aed4b52afe502147393 /internal/typeutils/astointernal.go | |
parent | [chore/performance] simplify storage driver to use storage.Storage directly (... (diff) | |
download | gotosocial-24cec4e7aab33b6c44ba6d1ecf16895f254351b8.tar.xz |
[feature] Federate pinned posts (aka `featuredCollection`) in and out (#1560)
* start fiddling
* the ol' fiddle + update
* start working on fetching statuses
* poopy doopy doo where r u uwu
* further adventures in featuring statuses
* finishing up
* fmt
* simply status unpin loop
* move empty featured check back to caller function
* remove unnecessary log.WithContext calls
* remove unnecessary IsIRI() checks
* add explanatory comment about status URIs
* change log level to error
* better test names
Diffstat (limited to 'internal/typeutils/astointernal.go')
-rw-r--r-- | internal/typeutils/astointernal.go | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/internal/typeutils/astointernal.go b/internal/typeutils/astointernal.go index 11633ad4e..4e1b59613 100644 --- a/internal/typeutils/astointernal.go +++ b/internal/typeutils/astointernal.go @@ -181,9 +181,14 @@ func (c *converter) ASRepresentationToAccount(ctx context.Context, accountable a acct.FollowersURI = accountable.GetActivityStreamsFollowers().GetIRI().String() } - // FeaturedURI - if accountable.GetTootFeatured() != nil && accountable.GetTootFeatured().GetIRI() != nil { - acct.FeaturedCollectionURI = accountable.GetTootFeatured().GetIRI().String() + // FeaturedURI aka pinned collection: + // Only trust featured URI if it has at least two domains, + // from the right, in common with the domain of the account + if featured := accountable.GetTootFeatured(); featured != nil && featured.IsIRI() { + if featuredURI := featured.GetIRI(); // nocollapse + featuredURI != nil && dns.CompareDomainName(acct.Domain, featuredURI.Host) >= 2 { + acct.FeaturedCollectionURI = featuredURI.String() + } } // TODO: FeaturedTagsURI |