From a237e2b295fee71bdf7266520b0b6e0fb79b565c Mon Sep 17 00:00:00 2001 From: Vyr Cossont Date: Mon, 29 Jul 2024 11:26:31 -0700 Subject: [feature] Implement following hashtags (#3141) * Implement followed tags API * Insert statuses with followed tags into home timelines * Test following and unfollowing tags * Correct Swagger path params * Trim conversation caches * Migration for followed_tags table * Followed tag caches and DB implementation * Lint and tests * Add missing tag info endpoint, reorganize tag API * Unwrap boosts when timelining based on tags * Apply visibility filters to tag followers * Address review comments --- internal/processing/processor.go | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'internal/processing/processor.go') diff --git a/internal/processing/processor.go b/internal/processing/processor.go index 0afe8356b..6d39dc103 100644 --- a/internal/processing/processor.go +++ b/internal/processing/processor.go @@ -42,6 +42,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/processing/search" "github.com/superseriousbusiness/gotosocial/internal/processing/status" "github.com/superseriousbusiness/gotosocial/internal/processing/stream" + "github.com/superseriousbusiness/gotosocial/internal/processing/tags" "github.com/superseriousbusiness/gotosocial/internal/processing/timeline" "github.com/superseriousbusiness/gotosocial/internal/processing/user" "github.com/superseriousbusiness/gotosocial/internal/processing/workers" @@ -88,6 +89,7 @@ type Processor struct { search search.Processor status status.Processor stream stream.Processor + tags tags.Processor timeline timeline.Processor user user.Processor workers workers.Processor @@ -153,6 +155,10 @@ func (p *Processor) Stream() *stream.Processor { return &p.stream } +func (p *Processor) Tags() *tags.Processor { + return &p.tags +} + func (p *Processor) Timeline() *timeline.Processor { return &p.timeline } @@ -207,6 +213,7 @@ func NewProcessor( processor.markers = markers.New(state, converter) processor.polls = polls.New(&common, state, converter) processor.report = report.New(state, converter) + processor.tags = tags.New(state, converter) processor.timeline = timeline.New(state, converter, visFilter) processor.search = search.New(state, federator, converter, visFilter) processor.status = status.New(state, &common, &processor.polls, federator, converter, visFilter, intFilter, parseMentionFunc) -- cgit v1.2.3