From 1ce854358def5f04b7c3b73418ab56bb58512634 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Mon, 23 Sep 2024 14:42:19 +0200 Subject: [feature] Show info for pending replies, allow implicit accept of pending replies (#3322) * [feature] Allow implicit accept of pending replies * update wording --- internal/processing/status/boost.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'internal/processing/status/boost.go') diff --git a/internal/processing/status/boost.go b/internal/processing/status/boost.go index 1b6e8bd47..0e09a8e7b 100644 --- a/internal/processing/status/boost.go +++ b/internal/processing/status/boost.go @@ -28,6 +28,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/gtserror" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/messages" + "github.com/superseriousbusiness/gotosocial/internal/util" ) // BoostCreate processes the boost/reblog of target @@ -138,6 +139,23 @@ func (p *Processor) BoostCreate( Target: target.Account, }) + // If the boost target status replies to a status + // that we own, and has a pending interaction + // request, use the boost as an implicit accept. + implicitlyAccepted, errWithCode := p.implicitlyAccept(ctx, + requester, target, + ) + if errWithCode != nil { + return nil, errWithCode + } + + // If we ended up implicitly accepting, mark the + // target status as no longer pending approval so + // it's serialized properly via the API. + if implicitlyAccepted { + target.PendingApproval = util.Ptr(false) + } + return p.c.GetAPIStatus(ctx, requester, boost) } -- cgit v1.2.3