about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNOGISAKA Sadata <ngsksdt@gmail.com>2019-02-24 22:28:36 +0900
committerEugen Rochko <eugen@zeonfederated.com>2019-02-24 14:28:36 +0100
commite050958794e436a61863cc62b0d7c54afb971ca4 (patch)
tree4fb1c20cd2f89f35c450c35a31661bf10b02451d
parent57483f2ffb59aff3e4ab68f8d291e7c5e886dc77 (diff)
Skip some methods in BatchedRemoveStatusService when account is nil (#10095)
* Skip some methods in BatchedRemoveStatusService when account is nil

Sometimes `bin/tootctl accounts cull` fails with below error:

undefined method `followers_for_local_distribution' for nil:NilClass (NoMethodError)

This commit makes BatchedRemoveStatusService to skip below methods when
`account` is nil:

- unpush_from_home_timelines()
- unpush_from_list_timelines()
- batch_stream_entries()

* Fix rubocop error: Use `next` to skip iteration.
-rw-r--r--app/services/batched_remove_status_service.rb2
1 files changed, 2 insertions, 0 deletions
diff --git a/app/services/batched_remove_status_service.rb b/app/services/batched_remove_status_service.rb
index cd3b14e08..e328b1739 100644
--- a/app/services/batched_remove_status_service.rb
+++ b/app/services/batched_remove_status_service.rb
@@ -35,6 +35,8 @@ class BatchedRemoveStatusService < BaseService
     statuses.group_by(&:account_id).each_value do |account_statuses|
       account = account_statuses.first.account
 
+      next unless account
+
       unpush_from_home_timelines(account, account_statuses)
       unpush_from_list_timelines(account, account_statuses)