diff options
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/federation/dereferencing/status.go | 22 | 
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  	} | 
