diff options
author | Claire <claire.github-309c@sitedethib.com> | 2021-06-23 23:55:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-23 23:55:47 +0200 |
commit | 1c21dcfa3562f7f4be9bb267f5faebf38bde31b0 (patch) | |
tree | bcc2edbb0ef8dfb717e4e9be0b22f13822328ab6 /app/workers | |
parent | 262c7bcb578919532bcec548938caf5094eee5a8 (diff) |
Fix newlines in accout notes added by the Move handler (#16415)
* Fix newlines in account notes added by the move handler * Make MoveWorker more robust
Diffstat (limited to 'app/workers')
-rw-r--r-- | app/workers/move_worker.rb | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/app/workers/move_worker.rb b/app/workers/move_worker.rb index 39e321316..53a6b87f1 100644 --- a/app/workers/move_worker.rb +++ b/app/workers/move_worker.rb @@ -13,9 +13,13 @@ class MoveWorker queue_follow_unfollows! end + @deferred_error = nil + copy_account_notes! carry_blocks_over! carry_mutes_over! + + raise @deferred_error unless @deferred_error.nil? rescue ActiveRecord::RecordNotFound true end @@ -36,6 +40,8 @@ class MoveWorker @source_account.followers.local.select(:id).find_in_batches do |accounts| UnfollowFollowWorker.push_bulk(accounts.map(&:id)) { |follower_id| [follower_id, @source_account.id, @target_account.id, bypass_locked] } + rescue => e + @deferred_error = e end end @@ -47,10 +53,12 @@ class MoveWorker new_note = AccountNote.find_by(account: note.account, target_account: @target_account) if new_note.nil? - AccountNote.create!(account: note.account, target_account: @target_account, comment: [text, note.comment].join('\n')) + AccountNote.create!(account: note.account, target_account: @target_account, comment: [text, note.comment].join("\n")) else - new_note.update!(comment: [text, note.comment, '\n', new_note.comment].join('\n')) + new_note.update!(comment: [text, note.comment, "\n", new_note.comment].join("\n")) end + rescue => e + @deferred_error = e end end @@ -60,6 +68,8 @@ class MoveWorker BlockService.new.call(block.account, @target_account) add_account_note_if_needed!(block.account, 'move_handler.carry_blocks_over_text') end + rescue => e + @deferred_error = e end end @@ -67,6 +77,8 @@ class MoveWorker @source_account.muted_by_relationships.where(account: Account.local).find_each do |mute| MuteService.new.call(mute.account, @target_account, notifications: mute.hide_notifications) unless mute.account.muting?(@target_account) || mute.account.following?(@target_account) add_account_note_if_needed!(mute.account, 'move_handler.carry_mutes_over_text') + rescue => e + @deferred_error = e end end |