From 2d921d9d7c8411a802df2ea7767f345bc93efd17 Mon Sep 17 00:00:00 2001 From: Vyr Cossont Date: Tue, 23 Jul 2024 12:51:07 -0700 Subject: Explicitly propagate filter results from statuses to their boosts in API responses (#3130) Related to #3128 --- internal/typeutils/internaltofrontend.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'internal/typeutils/internaltofrontend.go') diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go index a13304bd8..c194360c1 100644 --- a/internal/typeutils/internaltofrontend.go +++ b/internal/typeutils/internaltofrontend.go @@ -841,6 +841,7 @@ func (c *Converter) statusToAPIFilterResults( if mutes.Matches(s.AccountID, filterContext, now) { return nil, statusfilter.ErrHideStatus } + // If this status is part of a multi-account discussion, // and all of the accounts replied to or mentioned are invisible to the requesting account // (due to blocks, domain blocks, moderation, etc.), @@ -1185,13 +1186,14 @@ func (c *Converter) statusToFrontend( return nil, gtserror.Newf("error converting boosted status: %w", err) } - // Set boosted status and set interactions from original. + // Set boosted status and set interactions and filter results from original. apiStatus.Reblog = &apimodel.StatusReblogged{reblog} apiStatus.Favourited = apiStatus.Reblog.Favourited apiStatus.Bookmarked = apiStatus.Reblog.Bookmarked apiStatus.Muted = apiStatus.Reblog.Muted apiStatus.Reblogged = apiStatus.Reblog.Reblogged apiStatus.Pinned = apiStatus.Reblog.Pinned + apiStatus.Filtered = apiStatus.Reblog.Filtered } return apiStatus, nil -- cgit v1.2.3