From 086d4871451a0d609f539235e9b3da87279f5008 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 16 Mar 2016 21:14:39 +0100 Subject: [PATCH] Fix unfollows --- app/models/favourite.rb | 2 +- app/models/follow.rb | 2 +- app/services/process_interaction_service.rb | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/models/favourite.rb b/app/models/favourite.rb index ad5380f43..20260f46b 100644 --- a/app/models/favourite.rb +++ b/app/models/favourite.rb @@ -2,7 +2,7 @@ class Favourite < ActiveRecord::Base belongs_to :account, inverse_of: :favourites belongs_to :status, inverse_of: :favourites - has_one :stream_entry, as: :activity, dependent: :destroy + has_one :stream_entry, as: :activity def verb :favorite diff --git a/app/models/follow.rb b/app/models/follow.rb index 3521247e8..e458a07f3 100644 --- a/app/models/follow.rb +++ b/app/models/follow.rb @@ -2,7 +2,7 @@ class Follow < ActiveRecord::Base belongs_to :account belongs_to :target_account, class_name: 'Account' - has_one :stream_entry, as: :activity, dependent: :destroy + has_one :stream_entry, as: :activity validates :account, :target_account, presence: true validates :account_id, uniqueness: { scope: :target_account_id } diff --git a/app/services/process_interaction_service.rb b/app/services/process_interaction_service.rb index 30cf5a771..877647bbe 100644 --- a/app/services/process_interaction_service.rb +++ b/app/services/process_interaction_service.rb @@ -21,6 +21,8 @@ class ProcessInteractionService < BaseService if salmon.verify(envelope, account.keypair) update_remote_profile_service.(xml.at_xpath('/xmlns:entry/xmlns:author'), account) + binding.pry + case verb(xml) when :follow follow!(account, target_account) @@ -48,7 +50,7 @@ class ProcessInteractionService < BaseService end def verb(xml) - xml.at_xpath('//activity:verb').content.gsub('http://activitystrea.ms/schema/1.0/', '').to_sym + xml.at_xpath('//activity:verb').content.gsub('http://activitystrea.ms/schema/1.0/', '').gsub('http://ostatus.org/schema/1.0/', '').to_sym rescue :post end