Merge branch 'master' into glitch-soc/merge-upstream

Conflicts:
- app/controllers/directories_controller.rb
- app/controllers/settings/applications_controller.rb
- app/controllers/settings/base_controller.rb
- app/controllers/settings/deletes_controller.rb
- app/controllers/settings/exports_controller.rb
- app/controllers/settings/follower_domains_controller.rb
- app/controllers/settings/imports_controller.rb
- app/controllers/settings/migrations_controller.rb
- app/controllers/settings/notifications_controller.rb
- app/controllers/settings/preferences_controller.rb
- app/controllers/settings/sessions_controller.rb
- app/controllers/settings/two_factor_authentication/confirmations_controller.rb
- app/controllers/settings/two_factor_authentication/recovery_codes_controller.rb
- app/controllers/settings/two_factor_authentications_controller.rb

Conflicts were due to some refactoring already made in glitch-soc
when introducing flavours.
This commit is contained in:
Thibaut Girka
2018-12-15 10:38:54 +01:00
141 changed files with 1238 additions and 402 deletions

View File

@@ -19,31 +19,18 @@ class Pubsubhubbub::SubscribeService < BaseService
private
def process_subscribe
case subscribe_status
when :invalid_topic
if account.nil?
['Invalid topic URL', 422]
when :invalid_callback
elsif !valid_callback?
['Invalid callback URL', 422]
when :callback_not_allowed
elsif blocked_domain?
['Callback URL not allowed', 403]
when :valid
else
confirm_subscription
['', 202]
end
end
def subscribe_status
if account.nil?
:invalid_topic
elsif !valid_callback?
:invalid_callback
elsif blocked_domain?
:callback_not_allowed
else
:valid
end
end
def confirm_subscription
subscription = locate_subscription
Pubsubhubbub::ConfirmationWorker.perform_async(subscription.id, 'subscribe', secret, lease_seconds)
@@ -58,12 +45,7 @@ class Pubsubhubbub::SubscribeService < BaseService
end
def locate_subscription
subscription = Subscription.find_by(account: account, callback_url: callback)
if subscription.nil?
subscription = Subscription.new(account: account, callback_url: callback)
end
subscription = Subscription.find_or_initialize_by(account: account, callback_url: callback)
subscription.domain = domain
subscription.save!
subscription

View File

@@ -12,6 +12,9 @@ class UpdateAccountService < BaseService
check_links(account)
process_hashtags(account)
end
rescue Mastodon::DimensionsValidationError => de
account.errors.add(:avatar, de.message)
false
end
private