diff options
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/federation/dereferencing/status.go | 11 | 
1 files changed, 11 insertions, 0 deletions
diff --git a/internal/federation/dereferencing/status.go b/internal/federation/dereferencing/status.go index fa9906066..271ced21a 100644 --- a/internal/federation/dereferencing/status.go +++ b/internal/federation/dereferencing/status.go @@ -514,6 +514,17 @@ func (d *Dereferencer) enrichStatus(  	latestStatus.FetchedAt = time.Now()  	latestStatus.Local = status.Local +	// Carry-over approvals. Remote instances might not yet +	// serve statuses with the `approved_by` field, but we +	// might have marked a status as pre-approved on our side +	// based on the author's inclusion in a followers/following +	// collection. By carrying over previously-set values we +	// can avoid marking such statuses as "pending" again. +	// +	// If a remote has in the meantime retracted its approval, +	// the next call to 'isPermittedStatus' will catch that. +	latestStatus.ApprovedByURI = status.ApprovedByURI +  	// Check if this is a permitted status we should accept.  	// Function also sets "PendingApproval" bool as necessary.  	permit, err := d.isPermittedStatus(ctx, requestUser, status, latestStatus)  | 
