summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--internal/federation/dereferencing/status.go22
1 files changed, 13 insertions, 9 deletions
diff --git a/internal/federation/dereferencing/status.go b/internal/federation/dereferencing/status.go
index c8012178c..769539a2f 100644
--- a/internal/federation/dereferencing/status.go
+++ b/internal/federation/dereferencing/status.go
@@ -621,19 +621,23 @@ func (d *Dereferencer) isPermittedStatus(
return onFail()
}
- // Check visibility of inReplyTo to status author.
- permitted, err = d.visibility.StatusVisible(ctx,
- status.Account,
- status.InReplyTo,
- )
- if err != nil {
- return false, gtserror.Newf("error checking in-reply-to visibility: %w", err)
+ // Default to true
+ permitted = true
+
+ if *status.InReplyTo.Local {
+ // Check visibility of inReplyTo to status author.
+ permitted, err = d.visibility.StatusVisible(ctx,
+ status.Account,
+ status.InReplyTo,
+ )
+ if err != nil {
+ return false, gtserror.Newf("error checking in-reply-to visibility: %w", err)
+ }
}
if permitted &&
*status.InReplyTo.Replyable {
- // This status is visible AND
- // replyable, in this economy?!
+ // Status is reply-able to.
return true, nil
}