From fccb0bc102f2a54a21eed343cda64f9a5221b677 Mon Sep 17 00:00:00 2001 From: Vyr Cossont Date: Wed, 12 Feb 2025 09:49:33 -0800 Subject: [feature] Implement backfilling statuses thru scheduled_at (#3685) * Implement backfilling statuses thru scheduled_at * Forbid mentioning others in backfills * Update error messages & codes * Add new tests for backfilled statuses * Test that backfilling doesn't timeline or notify * Fix check for absence of notification * Test that backfills do not cause federation * Fix type of apimodel.StatusCreateRequest.ScheduledAt in tests * Add config file switch and min date check --- internal/gtsmodel/status.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'internal/gtsmodel') diff --git a/internal/gtsmodel/status.go b/internal/gtsmodel/status.go index d28898ed1..e170e7464 100644 --- a/internal/gtsmodel/status.go +++ b/internal/gtsmodel/status.go @@ -86,7 +86,7 @@ func (s *Status) GetAccountID() string { return s.AccountID } -// GetBoostID implements timeline.Timelineable{}. +// GetBoostOfID implements timeline.Timelineable{}. func (s *Status) GetBoostOfID() string { return s.BoostOfID } @@ -171,7 +171,7 @@ func (s *Status) EditsPopulated() bool { return true } -// EmojissUpToDate returns whether status emoji attachments of receiving status are up-to-date +// EmojisUpToDate returns whether status emoji attachments of receiving status are up-to-date // according to emoji attachments of the passed status, by comparing their emoji URIs. We don't // use IDs as this is used to determine whether there are new emojis to fetch. func (s *Status) EmojisUpToDate(other *Status) bool { @@ -386,3 +386,8 @@ type Content struct { Content string ContentMap map[string]string } + +// BackfillStatus is a wrapper for creating a status without pushing notifications to followers. +type BackfillStatus struct { + *Status +} -- cgit v1.3