From e4c0b30284f3acf5723cbb93bc7cdc6128e0f139 Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Sun, 28 Jun 2026 17:03:36 +0300 Subject: [PATCH] fix dedup email messages --- lib/email_messages.rb | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/lib/email_messages.rb b/lib/email_messages.rb index aeede647..7ece21b8 100644 --- a/lib/email_messages.rb +++ b/lib/email_messages.rb @@ -6,12 +6,8 @@ module EmailMessages def find_or_create_for_account_user(account, user, subject, body) subject = I18n.t(:you_are_invited_to_sign_a_document) if subject.blank? - sha1 = Digest::SHA1.hexdigest({ subject:, body: }.to_json) + message = account.email_messages.new(author: user, subject:, body:).tap(&:validate) - message = account.email_messages.find_by(sha1:) - - message ||= account.email_messages.create!(author: user, subject:, body:) - - message + account.email_messages.find_by(sha1: message.sha1) || message.tap { |m| m.save!(validate: false) } end end