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:
		| @@ -143,7 +143,7 @@ class ActivityPub::Activity | |||||||
|  |  | ||||||
|     # If the boosted toot is embedded and it is a self-boost, handle it like a Create |     # If the boosted toot is embedded and it is a self-boost, handle it like a Create | ||||||
|     unless unsupported_object_type? |     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 |       if actor_id == @account.uri | ||||||
|         return ActivityPub::Activity.factory({ 'type' => 'Create', 'actor' => actor_id, 'object' => @object }, @account).perform |         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 | ||||||
|       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 |       context 'self-boost of a previously unknown status with correct attributedTo' do | ||||||
|         let(:object_json) do |         let(:object_json) do | ||||||
|           { |           { | ||||||
| @@ -122,6 +107,7 @@ RSpec.describe ActivityPub::Activity::Announce do | |||||||
|             type: 'Note', |             type: 'Note', | ||||||
|             content: 'Lorem ipsum', |             content: 'Lorem ipsum', | ||||||
|             to: 'http://example.com/followers', |             to: 'http://example.com/followers', | ||||||
|  |             attributedTo: 'https://example.com/actor', | ||||||
|           } |           } | ||||||
|         end |         end | ||||||
|  |  | ||||||
| @@ -141,6 +127,7 @@ RSpec.describe ActivityPub::Activity::Announce do | |||||||
|             type: 'Note', |             type: 'Note', | ||||||
|             content: 'Lorem ipsum', |             content: 'Lorem ipsum', | ||||||
|             to: 'http://example.com/followers', |             to: 'http://example.com/followers', | ||||||
|  |             attributedTo: 'https://example.com/actor', | ||||||
|           } |           } | ||||||
|         end |         end | ||||||
|  |  | ||||||
| @@ -161,6 +148,7 @@ RSpec.describe ActivityPub::Activity::Announce do | |||||||
|           type: 'Note', |           type: 'Note', | ||||||
|           content: 'Lorem ipsum', |           content: 'Lorem ipsum', | ||||||
|           to: 'http://example.com/followers', |           to: 'http://example.com/followers', | ||||||
|  |           attributedTo: 'https://example.com/actor', | ||||||
|         } |         } | ||||||
|       end |       end | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user