From 059ebbf48dc56971b88e26a15303a75643de8b98 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 20 Sep 2016 00:39:03 +0200 Subject: Separate PuSH subscriptions from following, add mastodon:push:refresh task, respect hub.lease_seconds (fix #46) --- app/services/follow_remote_account_service.rb | 29 +++++---------------------- 1 file changed, 5 insertions(+), 24 deletions(-) (limited to 'app/services/follow_remote_account_service.rb') diff --git a/app/services/follow_remote_account_service.rb b/app/services/follow_remote_account_service.rb index 00285f47a..f3a384ecc 100644 --- a/app/services/follow_remote_account_service.rb +++ b/app/services/follow_remote_account_service.rb @@ -3,22 +3,18 @@ class FollowRemoteAccountService < BaseService # When creating, look up the user's webfinger and fetch all # important information from their feed # @param [String] uri User URI in the form of username@domain - # @param [Boolean] subscribe Whether to initiate a PubSubHubbub subscription # @return [Account] - def call(uri, subscribe = true) + def call(uri) username, domain = uri.split('@') return Account.find_local(username) if domain == Rails.configuration.x.local_domain || domain.nil? account = Account.find_remote(username, domain) - if account.nil? - Rails.logger.debug "Creating new remote account for #{uri}" - account = Account.new(username: username, domain: domain) - elsif account.subscribed? - Rails.logger.debug "Already subscribed to remote account #{uri}" - return account - end + return account unless account.nil? + + Rails.logger.debug "Creating new remote account for #{uri}" + account = Account.new(username: username, domain: domain) data = Goldfinger.finger("acct:#{uri}") @@ -45,16 +41,6 @@ class FollowRemoteAccountService < BaseService get_profile(feed, account) account.save! - if subscribe - account.secret = SecureRandom.hex - account.verify_token = SecureRandom.hex - - subscription = account.subscription(api_subscription_url(account.id)) - subscription.subscribe - - account.save! - end - return account end @@ -90,8 +76,3 @@ class FollowRemoteAccountService < BaseService end end -class NoAuthorFeedError < StandardError -end - -class NoHubError < StandardError -end -- cgit