Do not misattribute inlined boosts if attributedTo isn't present (#10967)
				
					
				
			* Do not misattribute inlined boosts if `attributedTo` isn't present Fixes #10950 * Fix tests
This commit is contained in:
		
							parent
							
								
									ed19f33440
								
							
						
					
					
						commit
						6c464cd424
					
				
					 2 changed files with 4 additions and 16 deletions
				
			
		| 
						 | 
				
			
			@ -143,7 +143,7 @@ class ActivityPub::Activity
 | 
			
		|||
 | 
			
		||||
    # If the boosted toot is embedded and it is a self-boost, handle it like a Create
 | 
			
		||||
    unless unsupported_object_type?
 | 
			
		||||
      actor_id = value_or_id(first_of_value(@object['attributedTo'])) || @account.uri
 | 
			
		||||
      actor_id = value_or_id(first_of_value(@object['attributedTo']))
 | 
			
		||||
 | 
			
		||||
      if actor_id == @account.uri
 | 
			
		||||
        return ActivityPub::Activity.factory({ 'type' => 'Create', 'actor' => actor_id, 'object' => @object }, @account).perform
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -58,21 +58,6 @@ RSpec.describe ActivityPub::Activity::Announce do
 | 
			
		|||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      context 'self-boost of a previously unknown status with missing attributedTo' do
 | 
			
		||||
        let(:object_json) do
 | 
			
		||||
          {
 | 
			
		||||
            id: 'https://example.com/actor#bar',
 | 
			
		||||
            type: 'Note',
 | 
			
		||||
            content: 'Lorem ipsum',
 | 
			
		||||
            to: 'http://example.com/followers',
 | 
			
		||||
          }
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        it 'creates a reblog by sender of status' do
 | 
			
		||||
          expect(sender.reblogged?(sender.statuses.first)).to be true
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      context 'self-boost of a previously unknown status with correct attributedTo' do
 | 
			
		||||
        let(:object_json) do
 | 
			
		||||
          {
 | 
			
		||||
| 
						 | 
				
			
			@ -122,6 +107,7 @@ RSpec.describe ActivityPub::Activity::Announce do
 | 
			
		|||
            type: 'Note',
 | 
			
		||||
            content: 'Lorem ipsum',
 | 
			
		||||
            to: 'http://example.com/followers',
 | 
			
		||||
            attributedTo: 'https://example.com/actor',
 | 
			
		||||
          }
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -141,6 +127,7 @@ RSpec.describe ActivityPub::Activity::Announce do
 | 
			
		|||
            type: 'Note',
 | 
			
		||||
            content: 'Lorem ipsum',
 | 
			
		||||
            to: 'http://example.com/followers',
 | 
			
		||||
            attributedTo: 'https://example.com/actor',
 | 
			
		||||
          }
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -161,6 +148,7 @@ RSpec.describe ActivityPub::Activity::Announce do
 | 
			
		|||
          type: 'Note',
 | 
			
		||||
          content: 'Lorem ipsum',
 | 
			
		||||
          to: 'http://example.com/followers',
 | 
			
		||||
          attributedTo: 'https://example.com/actor',
 | 
			
		||||
        }
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue