From f2d348b279c68329fd27dc7a6180b071c64dc85f Mon Sep 17 00:00:00 2001 From: Holger Just Date: Mon, 5 Jan 2026 22:34:59 +0100 Subject: [PATCH] Serialize address limit checks during email_addresses#create --- app/controllers/email_addresses_controller.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app/controllers/email_addresses_controller.rb b/app/controllers/email_addresses_controller.rb index 4c7e6deca7..ac36693f55 100644 --- a/app/controllers/email_addresses_controller.rb +++ b/app/controllers/email_addresses_controller.rb @@ -30,10 +30,13 @@ def index def create saved = false - if @user.email_addresses.count <= Setting.max_additional_emails.to_i - @address = EmailAddress.new(:user => @user, :is_default => false) - @address.safe_attributes = params[:email_address] - saved = @address.save + User.transaction do + @user.reload(lock: true) + if @user.email_addresses.count <= Setting.max_additional_emails.to_i + @address = EmailAddress.new(:user => @user, :is_default => false) + @address.safe_attributes = params[:email_address] + saved = @address.save + end end respond_to do |format| -- 2.50.0