summaryrefslogtreecommitdiff
path: root/internal/processing/status/create.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/processing/status/create.go')
-rw-r--r--internal/processing/status/create.go11
1 files changed, 10 insertions, 1 deletions
diff --git a/internal/processing/status/create.go b/internal/processing/status/create.go
index 10e19ac43..11dece87d 100644
--- a/internal/processing/status/create.go
+++ b/internal/processing/status/create.go
@@ -221,9 +221,18 @@ func (p *Processor) processInReplyTo(ctx context.Context, requester *gtsmodel.Ac
// We're permitted to do this, but since
// we matched due to presence in a followers
// or following collection, we should mark
- // as pending approval and wait for an accept.
+ // as pending approval and wait until we can
+ // prove it's been Accepted by the target.
pendingApproval = true
+ if *inReplyTo.Local {
+ // If the target is local we don't need
+ // to wait for an Accept from remote,
+ // we can just preapprove it and have
+ // the processor create the Accept.
+ status.PreApproved = true
+ }
+
case policyResult.Permitted():
// We're permitted to do this
// based on another kind of match.