Skip to content
Snippets Groups Projects
Commit 1cfc9aa2 authored by Eugen Rochko's avatar Eugen Rochko
Browse files

OStatus2 and Goldfinger gems now have timeouts for requests

parent 059ebbf4
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment