Fix nil error when removing status caused by race condition (#16099)
This commit is contained in:
parent
a6564d56d6
commit
f4b7c6b619
3 changed files with 6 additions and 2 deletions
|
@ -62,7 +62,7 @@ class StatusReachFinder
|
||||||
end
|
end
|
||||||
|
|
||||||
def followers_inboxes
|
def followers_inboxes
|
||||||
if @status.reply? && @status.thread.account.local? && @status.distributable?
|
if @status.in_reply_to_local_account? && @status.distributable?
|
||||||
@status.account.followers.or(@status.thread.account.followers).inboxes
|
@status.account.followers.or(@status.thread.account.followers).inboxes
|
||||||
else
|
else
|
||||||
@status.account.followers.inboxes
|
@status.account.followers.inboxes
|
||||||
|
|
|
@ -161,6 +161,10 @@ class Status < ApplicationRecord
|
||||||
attributes['local'] || uri.nil?
|
attributes['local'] || uri.nil?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def in_reply_to_local_account?
|
||||||
|
reply? && thread&.account&.local?
|
||||||
|
end
|
||||||
|
|
||||||
def reblog?
|
def reblog?
|
||||||
!reblog_of_id.nil?
|
!reblog_of_id.nil?
|
||||||
end
|
end
|
||||||
|
|
|
@ -35,7 +35,7 @@ class ActivityPub::DistributionWorker
|
||||||
# Deliver the status to all followers.
|
# Deliver the status to all followers.
|
||||||
# If the status is a reply to another local status, also forward it to that
|
# If the status is a reply to another local status, also forward it to that
|
||||||
# status' authors' followers.
|
# status' authors' followers.
|
||||||
@inboxes ||= if @status.reply? && @status.thread.account.local? && @status.distributable?
|
@inboxes ||= if @status.in_reply_to_local_account? && @status.distributable?
|
||||||
@account.followers.or(@status.thread.account.followers).inboxes
|
@account.followers.or(@status.thread.account.followers).inboxes
|
||||||
else
|
else
|
||||||
@account.followers.inboxes
|
@account.followers.inboxes
|
||||||
|
|
Loading…
Reference in a new issue