Skip to content

Commit

Permalink
Fix server error when failing to follow back followers from `/relatio…
Browse files Browse the repository at this point in the history
…nships` (mastodon#23787)
  • Loading branch information
ClearlyClaire authored and arachnist committed Apr 4, 2023
1 parent 8fa2730 commit 1edae86
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 0 deletions.
2 changes: 2 additions & 0 deletions app/controllers/relationships_controller.rb
Expand Up @@ -20,6 +20,8 @@ def update
@form.save
rescue ActionController::ParameterMissing
# Do nothing
rescue Mastodon::NotPermittedError, ActiveRecord::RecordNotFound
flash[:alert] = I18n.t('relationships.follow_failure') if action_from_button == 'follow'
ensure
redirect_to relationships_path(filter_params)
end
Expand Down
6 changes: 6 additions & 0 deletions app/models/form/account_batch.rb
Expand Up @@ -35,9 +35,15 @@ def save
private

def follow!
error = nil

accounts.each do |target_account|
FollowService.new.call(current_account, target_account)
rescue Mastodon::NotPermittedError, ActiveRecord::RecordNotFound => e
error ||= e
end

raise error if error.present?
end

def unfollow!
Expand Down
1 change: 1 addition & 0 deletions config/locales/en.yml
Expand Up @@ -1408,6 +1408,7 @@ en:
confirm_remove_selected_followers: Are you sure you want to remove selected followers?
confirm_remove_selected_follows: Are you sure you want to remove selected follows?
dormant: Dormant
follow_failure: Could not follow some of the selected accounts.
follow_selected_followers: Follow selected followers
followers: Followers
following: Following
Expand Down

0 comments on commit 1edae86

Please sign in to comment.