Fix own posts not getting delivered to own lists (#24810)
This commit is contained in:
		
							parent
							
								
									45579a26cf
								
							
						
					
					
						commit
						1e75eb690d
					
				| @ -271,8 +271,8 @@ module AccountInteractions | ||||
|   end | ||||
| 
 | ||||
|   def lists_for_local_distribution | ||||
|     lists.joins(account: :user) | ||||
|          .where.not(list_accounts: { follow_id: nil }) | ||||
|     scope = lists.joins(account: :user) | ||||
|     scope.where.not(list_accounts: { follow_id: nil }).or(scope.where(account_id: id)) | ||||
|          .where('users.current_sign_in_at > ?', User::ACTIVE_DURATION.ago) | ||||
|   end | ||||
| 
 | ||||
|  | ||||
| @ -685,6 +685,7 @@ describe AccountInteractions do | ||||
|   end | ||||
| 
 | ||||
|   describe '#lists_for_local_distribution' do | ||||
|     let(:account)                 { Fabricate(:user, current_sign_in_at: Time.now.utc).account } | ||||
|     let!(:inactive_follower_user) { Fabricate(:user, current_sign_in_at: 5.years.ago) } | ||||
|     let!(:follower_user)          { Fabricate(:user, current_sign_in_at: Time.now.utc) } | ||||
|     let!(:follow_request_user)    { Fabricate(:user, current_sign_in_at: Time.now.utc) } | ||||
| @ -693,6 +694,8 @@ describe AccountInteractions do | ||||
|     let!(:follower_list)          { Fabricate(:list, account: follower_user.account) } | ||||
|     let!(:follow_request_list)    { Fabricate(:list, account: follow_request_user.account) } | ||||
| 
 | ||||
|     let!(:self_list)              { Fabricate(:list, account: account) } | ||||
| 
 | ||||
|     before do | ||||
|       inactive_follower_user.account.follow!(account) | ||||
|       follower_user.account.follow!(account) | ||||
| @ -701,10 +704,11 @@ describe AccountInteractions do | ||||
|       inactive_follower_list.accounts << account | ||||
|       follower_list.accounts << account | ||||
|       follow_request_list.accounts << account | ||||
|       self_list.accounts << account | ||||
|     end | ||||
| 
 | ||||
|     it 'includes only the list from the active follower' do | ||||
|       expect(account.lists_for_local_distribution.to_a).to eq [follower_list] | ||||
|     it 'includes only the list from the active follower and from oneself' do | ||||
|       expect(account.lists_for_local_distribution.to_a).to contain_exactly(follower_list, self_list) | ||||
|     end | ||||
|   end | ||||
| end | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user