Unverified Commit dc5c86ad authored by Eugen Rochko's avatar Eugen Rochko Committed by GitHub
Browse files

Fix account migration form ever using outdated account data (#18429)

parent 317ec06d
Showing with 3 additions and 2 deletions
+3 -2
...@@ -31,7 +31,7 @@ class Form::Redirect ...@@ -31,7 +31,7 @@ class Form::Redirect
private private
def set_target_account def set_target_account
@target_account = ResolveAccountService.new.call(acct) @target_account = ResolveAccountService.new.call(acct, skip_cache: true)
rescue Webfinger::Error, HTTP::Error, OpenSSL::SSL::SSLError, Mastodon::Error rescue Webfinger::Error, HTTP::Error, OpenSSL::SSL::SSLError, Mastodon::Error
# Validation will take care of it # Validation will take care of it
end end
......
...@@ -12,6 +12,7 @@ class ResolveAccountService < BaseService ...@@ -12,6 +12,7 @@ class ResolveAccountService < BaseService
# @param [Hash] options # @param [Hash] options
# @option options [Boolean] :redirected Do not follow further Webfinger redirects # @option options [Boolean] :redirected Do not follow further Webfinger redirects
# @option options [Boolean] :skip_webfinger Do not attempt any webfinger query or refreshing account data # @option options [Boolean] :skip_webfinger Do not attempt any webfinger query or refreshing account data
# @option options [Boolean] :skip_cache Get the latest data from origin even if cache is not due to update yet
# @option options [Boolean] :suppress_errors When failing, return nil instead of raising an error # @option options [Boolean] :suppress_errors When failing, return nil instead of raising an error
# @return [Account] # @return [Account]
def call(uri, options = {}) def call(uri, options = {})
...@@ -120,7 +121,7 @@ class ResolveAccountService < BaseService ...@@ -120,7 +121,7 @@ class ResolveAccountService < BaseService
return false if @options[:check_delivery_availability] && !DeliveryFailureTracker.available?(@domain) return false if @options[:check_delivery_availability] && !DeliveryFailureTracker.available?(@domain)
return false if @options[:skip_webfinger] return false if @options[:skip_webfinger]
@account.nil? || @account.possibly_stale? @options[:skip_cache] || @account.nil? || @account.possibly_stale?
end end
def activitypub_ready? def activitypub_ready?
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment