diff options
author | 2024-09-16 22:41:04 +0200 | |
---|---|---|
committer | 2024-09-16 22:41:04 +0200 | |
commit | 4bd5e68b2b811eef42045149f4b7abdc6a2ba9e7 (patch) | |
tree | 27621eebf1ba12b78608c2e855244c1c74e3e352 /internal/processing | |
parent | [bugfix] Be more lenient when parsing mastodown following.csv (#3311) (diff) | |
download | gotosocial-4bd5e68b2b811eef42045149f4b7abdc6a2ba9e7.tar.xz |
[bugfix] Ensure id set on outgoing Reject + Accept (#3312)
Diffstat (limited to 'internal/processing')
-rw-r--r-- | internal/processing/workers/federate.go | 62 |
1 files changed, 8 insertions, 54 deletions
diff --git a/internal/processing/workers/federate.go b/internal/processing/workers/federate.go index d14f38902..a0fd6bf69 100644 --- a/internal/processing/workers/federate.go +++ b/internal/processing/workers/federate.go @@ -1149,41 +1149,18 @@ func (f *federate) AcceptInteraction( return nil } - // Parse relevant URI(s). + // Parse outbox URI. outboxIRI, err := parseURI(req.TargetAccount.OutboxURI) if err != nil { return err } - acceptingAcctIRI, err := parseURI(req.TargetAccount.URI) - if err != nil { - return err - } - - interactingAcctURI, err := parseURI(req.InteractingAccount.URI) - if err != nil { - return err - } - - interactionURI, err := parseURI(req.InteractionURI) + // Convert req to Accept. + accept, err := f.converter.InteractionReqToASAccept(ctx, req) if err != nil { - return err + return gtserror.Newf("error converting request to Accept: %w", err) } - // Create a new Accept. - accept := streams.NewActivityStreamsAccept() - - // Set interacted-with account - // as Actor of the Accept. - ap.AppendActorIRIs(accept, acceptingAcctIRI) - - // Set the interacted-with object - // as Object of the Accept. - ap.AppendObjectIRIs(accept, interactionURI) - - // Address the Accept To the interacting acct. - ap.AppendTo(accept, interactingAcctURI) - // Send the Accept via the Actor's outbox. if _, err := f.FederatingActor().Send( ctx, outboxIRI, accept, @@ -1221,41 +1198,18 @@ func (f *federate) RejectInteraction( return nil } - // Parse relevant URI(s). + // Parse outbox URI. outboxIRI, err := parseURI(req.TargetAccount.OutboxURI) if err != nil { return err } - rejectingAcctIRI, err := parseURI(req.TargetAccount.URI) - if err != nil { - return err - } - - interactingAcctURI, err := parseURI(req.InteractingAccount.URI) - if err != nil { - return err - } - - interactionURI, err := parseURI(req.InteractionURI) + // Convert req to Reject. + reject, err := f.converter.InteractionReqToASReject(ctx, req) if err != nil { - return err + return gtserror.Newf("error converting request to Reject: %w", err) } - // Create a new Reject. - reject := streams.NewActivityStreamsReject() - - // Set interacted-with account - // as Actor of the Reject. - ap.AppendActorIRIs(reject, rejectingAcctIRI) - - // Set the interacted-with object - // as Object of the Reject. - ap.AppendObjectIRIs(reject, interactionURI) - - // Address the Reject To the interacting acct. - ap.AppendTo(reject, interactingAcctURI) - // Send the Reject via the Actor's outbox. if _, err := f.FederatingActor().Send( ctx, outboxIRI, reject, |