From 4a69651a7c7945b11760d9ca82d9945834f01f73 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Mon, 4 Jul 2022 15:41:20 +0200 Subject: [bugfix] Visibility fixes (#687) * test self boost * only CC to public when necessary --- internal/typeutils/internaltoas.go | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'internal/typeutils/internaltoas.go') diff --git a/internal/typeutils/internaltoas.go b/internal/typeutils/internaltoas.go index 81f4d9a31..2e6bd3091 100644 --- a/internal/typeutils/internaltoas.go +++ b/internal/typeutils/internaltoas.go @@ -815,19 +815,23 @@ func (c *converter) BoostToAS(ctx context.Context, boostWrapperStatus *gtsmodel. announce.SetActivityStreamsTo(toProp) // set the cc - boostedURI, err := url.Parse(boostedAccount.URI) + ccProp := streams.NewActivityStreamsCcProperty() + boostedAccountURI, err := url.Parse(boostedAccount.URI) if err != nil { return nil, fmt.Errorf("BoostToAS: error parsing uri %s: %s", boostedAccount.URI, err) } + ccProp.AppendIRI(boostedAccountURI) - publicURI, err := url.Parse(pub.PublicActivityPubIRI) - if err != nil { - return nil, fmt.Errorf("BoostToAS: error parsing uri %s: %s", pub.PublicActivityPubIRI, err) + // maybe CC it to public depending on the boosted status visibility + switch boostWrapperStatus.BoostOf.Visibility { + case gtsmodel.VisibilityPublic, gtsmodel.VisibilityUnlocked: + publicURI, err := url.Parse(pub.PublicActivityPubIRI) + if err != nil { + return nil, fmt.Errorf("BoostToAS: error parsing uri %s: %s", pub.PublicActivityPubIRI, err) + } + ccProp.AppendIRI(publicURI) } - ccProp := streams.NewActivityStreamsCcProperty() - ccProp.AppendIRI(boostedURI) - ccProp.AppendIRI(publicURI) announce.SetActivityStreamsCc(ccProp) return announce, nil -- cgit v1.2.3