|
|
@ -48,6 +48,8 @@ class ProcessFeedService < BaseService |
|
|
|
if original_status.nil? |
|
|
|
if original_status.nil? |
|
|
|
status.destroy |
|
|
|
status.destroy |
|
|
|
return nil |
|
|
|
return nil |
|
|
|
|
|
|
|
elsif original_status.reblog? |
|
|
|
|
|
|
|
status.reblog = original_status.reblog |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
@ -73,11 +75,18 @@ class ProcessFeedService < BaseService |
|
|
|
status = find_status(id(entry)) |
|
|
|
status = find_status(id(entry)) |
|
|
|
return status unless status.nil? |
|
|
|
return status unless status.nil? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# If status embeds an author, find that author |
|
|
|
|
|
|
|
# If that author cannot be found, don't record the status (do not misattribute) |
|
|
|
|
|
|
|
if account?(entry) |
|
|
|
begin |
|
|
|
begin |
|
|
|
account = account?(entry) ? find_or_resolve_account(acct(entry)) : @account |
|
|
|
account = find_or_resolve_account(acct(entry)) |
|
|
|
|
|
|
|
return nil if account.nil? |
|
|
|
rescue Goldfinger::Error |
|
|
|
rescue Goldfinger::Error |
|
|
|
return nil |
|
|
|
return nil |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
account = @account |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
status = Status.create!({ |
|
|
|
status = Status.create!({ |
|
|
|
uri: id(entry), |
|
|
|
uri: id(entry), |
|
|
|