gearheads
/
mastodon
Archived
2
0
Fork 0

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

gh/stable
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 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

View File

@ -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
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?