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 | ||||
| 
 | ||||
|   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 | ||||
|     else | ||||
|       @status.account.followers.inboxes | ||||
|  |  | |||
|  | @ -161,6 +161,10 @@ class Status < ApplicationRecord | |||
|     attributes['local'] || uri.nil? | ||||
|   end | ||||
| 
 | ||||
|   def in_reply_to_local_account? | ||||
|     reply? && thread&.account&.local? | ||||
|   end | ||||
| 
 | ||||
|   def reblog? | ||||
|     !reblog_of_id.nil? | ||||
|   end | ||||
|  |  | |||
|  | @ -35,7 +35,7 @@ class ActivityPub::DistributionWorker | |||
|     # Deliver the status to all followers. | ||||
|     # If the status is a reply to another local status, also forward it to that | ||||
|     # 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 | ||||
|                  else | ||||
|                    @account.followers.inboxes | ||||
|  |  | |||
		Reference in a new issue