Merge branch 'master' into glitch-soc/merge-upstream
Conflicts: - app/services/remove_status_service.rb Conflict because we still handle the direct timeline. Took upstream changes, with that one extra function call. - config/locales/ca.yml Conflict because theme names were updated. Decided to *keep* the theme names even if they are useless to avoid future conflicts. - config/locales/oc.yml Decided to *keep* the theme names even if they are useless to avoid future conflicts. - config/locales/pl.yml Decided to *keep* the theme names even if they are useless to avoid future conflicts.
This commit is contained in:
@ -14,17 +14,23 @@ class RemoveStatusService < BaseService
|
||||
@stream_entry = status.stream_entry
|
||||
@options = options
|
||||
|
||||
remove_from_self if status.account.local?
|
||||
remove_from_followers
|
||||
remove_from_lists
|
||||
remove_from_affected
|
||||
remove_reblogs
|
||||
remove_from_hashtags
|
||||
remove_from_public
|
||||
remove_from_media if status.media_attachments.any?
|
||||
remove_from_direct if status.direct_visibility?
|
||||
RedisLock.acquire(lock_options) do |lock|
|
||||
if lock.acquired?
|
||||
remove_from_self if status.account.local?
|
||||
remove_from_followers
|
||||
remove_from_lists
|
||||
remove_from_affected
|
||||
remove_reblogs
|
||||
remove_from_hashtags
|
||||
remove_from_public
|
||||
remove_from_media if status.media_attachments.any?
|
||||
remove_from_direct if status.direct_visibility?
|
||||
|
||||
@status.destroy!
|
||||
@status.destroy!
|
||||
else
|
||||
raise Mastodon::RaceConditionError
|
||||
end
|
||||
end
|
||||
|
||||
# There is no reason to send out Undo activities when the
|
||||
# cause is that the original object has been removed, since
|
||||
@ -164,4 +170,8 @@ class RemoveStatusService < BaseService
|
||||
end
|
||||
Redis.current.publish("timeline:direct:#{@account.id}", @payload) if @account.local?
|
||||
end
|
||||
|
||||
def lock_options
|
||||
{ redis: Redis.current, key: "distribute:#{@status.id}" }
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user