summaryrefslogtreecommitdiff
path: root/internal/cleaner/emoji.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/cleaner/emoji.go')
-rw-r--r--internal/cleaner/emoji.go14
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.