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

remotes/1703361221475462875/rebase/4.0.0rc1
Eugen Rochko 2022-10-29 01:31:45 +02:00 committed by GitHub
parent 317ec06dc7
commit dc5c86add7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 2 deletions

View File

@ -31,7 +31,7 @@ class Form::Redirect
private
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
# Validation will take care of it
end

View File

@ -12,6 +12,7 @@ class ResolveAccountService < BaseService
# @param [Hash] options
# @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_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
# @return [Account]
def call(uri, options = {})
@ -120,7 +121,7 @@ class ResolveAccountService < BaseService
return false if @options[:check_delivery_availability] && !DeliveryFailureTracker.available?(@domain)
return false if @options[:skip_webfinger]
@account.nil? || @account.possibly_stale?
@options[:skip_cache] || @account.nil? || @account.possibly_stale?
end
def activitypub_ready?