Skip to content
Extraits de code Groupes Projets
Valider 499ff6e0 rédigé par Jonne Haß's avatar Jonne Haß
Parcourir les fichiers

Fix receiving a relayable retraction through the public route

parent 5ca1c1d2
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -60,4 +60,8 @@ class RelayableRetraction < SignedRetraction
def parent_author_signature_valid?
verify_signature(self.parent_author_signature, self.parent.author)
end
def parent_diaspora_handle
target.author.diaspora_handle
end
end
......@@ -26,15 +26,15 @@ class Postzord::Receiver::Public < Postzord::Receiver
return false unless save_object
FEDERATION_LOGGER.info("received a #{@object.inspect}")
if @object.respond_to?(:relayable?)
receive_relayable
elsif @object.is_a?(AccountDeletion)
#nothing
elsif @object.is_a?(SignedRetraction) # feels like a hack
if @object.is_a?(SignedRetraction) # feels like a hack
self.recipient_user_ids.each do |user_id|
user = User.where(id: user_id).first
@object.perform user if user
end
elsif @object.respond_to?(:relayable?)
receive_relayable
elsif @object.is_a?(AccountDeletion)
#nothing
else
Workers::ReceiveLocalBatch.perform_async(@object.class.to_s, @object.id, self.recipient_user_ids)
true
......
......@@ -98,6 +98,13 @@ describe RelayableRetraction do
expect(Postzord::Dispatcher).not_to receive(:build)
@retraction.receive(@recipient, @remote_raphael)
end
it 'performs through postzord' do
xml = Salmon::Slap.create_by_user_and_activity(@local_luke, @retraction.to_diaspora_xml).xml_for(nil)
expect {
Postzord::Receiver::Public.new(xml).perform!
}.to change(Comment, :count).by(-1)
end
end
end
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter