summaryrefslogtreecommitdiff
path: root/internal/processing/workers/federate.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/processing/workers/federate.go')
-rw-r--r--internal/processing/workers/federate.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/internal/processing/workers/federate.go b/internal/processing/workers/federate.go
index 9fdb8f662..e737513f5 100644
--- a/internal/processing/workers/federate.go
+++ b/internal/processing/workers/federate.go
@@ -75,6 +75,12 @@ func (f *federate) DeleteAccount(ctx context.Context, account *gtsmodel.Account)
return nil
}
+ // Drop any queued outgoing AP requests to / from account,
+ // (this stops any queued likes, boosts, creates etc).
+ f.state.Workers.Delivery.Queue.Delete("ActorID", account.URI)
+ f.state.Workers.Delivery.Queue.Delete("ObjectID", account.URI)
+ f.state.Workers.Delivery.Queue.Delete("TargetID", account.URI)
+
// Parse relevant URI(s).
outboxIRI, err := parseURI(account.OutboxURI)
if err != nil {
@@ -222,6 +228,11 @@ func (f *federate) DeleteStatus(ctx context.Context, status *gtsmodel.Status) er
return nil
}
+ // Drop any queued outgoing http requests for status,
+ // (this stops any queued likes, boosts, creates etc).
+ f.state.Workers.Delivery.Queue.Delete("ObjectID", status.URI)
+ f.state.Workers.Delivery.Queue.Delete("TargetID", status.URI)
+
// Ensure the status model is fully populated.
if err := f.state.DB.PopulateStatus(ctx, status); err != nil {
return gtserror.Newf("error populating status: %w", err)