summaryrefslogtreecommitdiff
path: root/internal/processing/status/common.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/processing/status/common.go')
-rw-r--r--internal/processing/status/common.go3
1 files changed, 2 insertions, 1 deletions
diff --git a/internal/processing/status/common.go b/internal/processing/status/common.go
index c764a64b4..ca17ab80e 100644
--- a/internal/processing/status/common.go
+++ b/internal/processing/status/common.go
@@ -282,6 +282,7 @@ func (p *Processor) processMedia(
authorID string,
statusID string,
mediaIDs []string,
+ scheduledStatusID *string,
) (
[]*gtsmodel.MediaAttachment,
gtserror.WithCode,
@@ -315,7 +316,7 @@ func (p *Processor) processMedia(
// Check media isn't already attached to another status.
if (media.StatusID != "" && media.StatusID != statusID) ||
- (media.ScheduledStatusID != "" && media.ScheduledStatusID != statusID) {
+ (media.ScheduledStatusID != "" && (media.ScheduledStatusID != statusID && (scheduledStatusID == nil || media.ScheduledStatusID != *scheduledStatusID))) {
text := fmt.Sprintf("media already attached to status: %s", id)
return nil, gtserror.NewErrorBadRequest(errors.New(text), text)
}