From 9cadc764b389df970c767608e7a061f3bd777dfa Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Tue, 27 Feb 2024 13:22:05 +0100 Subject: [feature] Add experimental `instance-federation-spam-filter` option (#2685) * [chore] Move `visibility` to `filter/visibility` * [feature] Add experimental instance-federation-spam-filter option --- internal/ap/extract.go | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'internal/ap/extract.go') diff --git a/internal/ap/extract.go b/internal/ap/extract.go index 2b49c6477..d9288c162 100644 --- a/internal/ap/extract.go +++ b/internal/ap/extract.go @@ -33,6 +33,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/gtserror" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/text" + "github.com/superseriousbusiness/gotosocial/internal/util" ) // ExtractObjects will extract object vocab.Types from given implementing interface. @@ -776,11 +777,21 @@ func extractHashtag(i Hashtaggable) (*gtsmodel.Tag, error) { } tagName := strings.TrimPrefix(name, "#") - yeah := func() *bool { t := true; return &t } + // Extract href for the tag, if set. + // + // Fine if not, it's only used for spam + // checking anyway so not critical. + var href string + hrefProp := i.GetActivityStreamsHref() + if hrefProp != nil && hrefProp.IsIRI() { + href = hrefProp.GetIRI().String() + } + return >smodel.Tag{ Name: tagName, - Useable: yeah(), // Assume true by default. - Listable: yeah(), // Assume true by default. + Useable: util.Ptr(true), // Assume true by default. + Listable: util.Ptr(true), // Assume true by default. + Href: href, }, nil } -- cgit v1.2.3