diff options
Diffstat (limited to 'internal/cleaner/emoji.go')
-rw-r--r-- | internal/cleaner/emoji.go | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/internal/cleaner/emoji.go b/internal/cleaner/emoji.go index 62ed0f012..6cf194e40 100644 --- a/internal/cleaner/emoji.go +++ b/internal/cleaner/emoji.go @@ -32,9 +32,7 @@ import ( // Emoji encompasses a set of // emoji cleanup / admin utils. -type Emoji struct { - *Cleaner -} +type Emoji struct{ *Cleaner } // All will execute all cleaner.Emoji utilities synchronously, including output logging. // Context will be checked for `gtscontext.DryRun()` in order to actually perform the action. @@ -381,10 +379,20 @@ func (e *Emoji) uncacheRemote(ctx context.Context, after time.Time, emoji *gtsmo } for _, status := range statuses { + // Check if recently used status. if status.FetchedAt.After(after) { l.Debug("skipping due to recently fetched status") return false, nil } + + // Check whether status is bookmarked by active accounts. + bookmarked, err := e.state.DB.IsStatusBookmarked(ctx, status.ID) + if err != nil { + return false, err + } else if bookmarked { + l.Debug("skipping due to bookmarked status") + return false, nil + } } // This emoji is too old, uncache it. |