OStatus2 and Goldfinger gems now have timeouts for requests
This commit is contained in:
		
							parent
							
								
									059ebbf48d
								
							
						
					
					
						commit
						1cfc9aa20e
					
				@ -106,7 +106,7 @@ GEM
 | 
			
		||||
      ruby-progressbar (~> 1.4)
 | 
			
		||||
    globalid (0.3.7)
 | 
			
		||||
      activesupport (>= 4.1.0)
 | 
			
		||||
    goldfinger (1.0.2)
 | 
			
		||||
    goldfinger (1.0.3)
 | 
			
		||||
      addressable (~> 2.4)
 | 
			
		||||
      http (~> 1.0)
 | 
			
		||||
      nokogiri (~> 1.6)
 | 
			
		||||
@ -171,7 +171,7 @@ GEM
 | 
			
		||||
      pkg-config (~> 1.1.7)
 | 
			
		||||
    oj (2.17.3)
 | 
			
		||||
    orm_adapter (0.5.0)
 | 
			
		||||
    ostatus2 (0.2)
 | 
			
		||||
    ostatus2 (0.2.1)
 | 
			
		||||
      addressable (~> 2.4)
 | 
			
		||||
      http (~> 1.0)
 | 
			
		||||
      nokogiri (~> 1.6)
 | 
			
		||||
 | 
			
		||||
@ -82,7 +82,7 @@ class Account < ApplicationRecord
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def subscription(webhook_url)
 | 
			
		||||
    @subscription ||= OStatus2::Subscription.new(self.remote_url, secret: self.secret, token: self.verify_token, webhook: webhook_url, hub: self.hub_url)
 | 
			
		||||
    OStatus2::Subscription.new(self.remote_url, secret: self.secret, token: self.verify_token, webhook: webhook_url, hub: self.hub_url)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def ping!(atom_url, hubs)
 | 
			
		||||
 | 
			
		||||
@ -12,7 +12,11 @@ namespace :mastodon do
 | 
			
		||||
    desc 'Unsubscribes from PuSH updates of feeds nobody follows locally'
 | 
			
		||||
    task clear: :environment do
 | 
			
		||||
      Account.remote.without_followers.find_each do |a|
 | 
			
		||||
        Rails.logger.debug "PuSH unsubscribing from #{a.acct}"
 | 
			
		||||
        a.subscription('').unsubscribe
 | 
			
		||||
      rescue HTTP::Error, OpenSSL::SSL::SSLError
 | 
			
		||||
        Rails.logger.debug "PuSH unsubscribing from #{a.acct} failed due to an HTTP or SSL error"
 | 
			
		||||
      ensure
 | 
			
		||||
        a.update!(verify_token: '', secret: '', subscription_expires_at: nil)
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
@ -20,6 +24,7 @@ namespace :mastodon do
 | 
			
		||||
    desc 'Re-subscribes to soon expiring PuSH subscriptions'
 | 
			
		||||
    task refresh: :environment do
 | 
			
		||||
      Account.expiring(1.day.from_now).find_each do |a|
 | 
			
		||||
        Rails.logger.debug "PuSH re-subscribing to #{a.acct}"
 | 
			
		||||
        SubscribeService.new.(a)
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user