From: Takeshi Umeda Date: Mon, 30 Mar 2020 18:32:34 +0000 (+0900) Subject: Fix incorrect deletion of local accounts imported by overwriting (#13350) X-Git-Url: https://git.xn--scling-oua.cat.family/?a=commitdiff_plain;h=11169367e4a999b19cc9140be38bdb5a1f3bb144;p=mastodon.git Fix incorrect deletion of local accounts imported by overwriting (#13350) --- diff --git a/app/services/import_service.rb b/app/services/import_service.rb index 4ee431ea3..c0d741d57 100644 --- a/app/services/import_service.rb +++ b/app/services/import_service.rb @@ -64,7 +64,8 @@ class ImportService < BaseService end def import_relationships!(action, undo_action, overwrite_scope, limit, extra_fields = {}) - items = @data.take(limit).map { |row| [row['Account address']&.strip, Hash[extra_fields.map { |key, header| [key, row[header]&.strip] }]] }.reject { |(id, _)| id.blank? } + local_domain_suffix = "@#{Rails.configuration.x.local_domain}" + items = @data.take(limit).map { |row| [row['Account address']&.strip&.delete_suffix(local_domain_suffix), Hash[extra_fields.map { |key, header| [key, row[header]&.strip] }]] }.reject { |(id, _)| id.blank? } if @import.overwrite? presence_hash = items.each_with_object({}) { |(id, extra), mapping| mapping[id] = [true, extra] }