about summary refs log tree commit diff
path: root/app/mailers
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2017-09-24 11:19:42 +0200
committerEugen Rochko <eugen@zeonfederated.com>2017-09-24 11:19:42 +0200
commitc267acfcf715084f5cef69dbaada2f5cb8a86fbf (patch)
tree7ff5618402039dfcccb6ee1a64ed544fd71f0d2d /app/mailers
parentab625c57cebb1f45645b9fb0638548e1079378b1 (diff)
Thread toot notification mails by conversation (#5061)
* Thread toot notification mails by conversation

* Make codeclimate happy and avoid potential mis-threading
Diffstat (limited to 'app/mailers')
-rw-r--r--app/mailers/notification_mailer.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/app/mailers/notification_mailer.rb b/app/mailers/notification_mailer.rb
index 12b92bf45..80c9d8ccf 100644
--- a/app/mailers/notification_mailer.rb
+++ b/app/mailers/notification_mailer.rb
@@ -8,6 +8,7 @@ class NotificationMailer < ApplicationMailer
     @status = notification.target_status
 
     locale_for_account(@me) do
+      thread_by_conversation(@status.conversation)
       mail to: @me.user.email, subject: I18n.t('notification_mailer.mention.subject', name: @status.account.acct)
     end
   end
@@ -27,6 +28,7 @@ class NotificationMailer < ApplicationMailer
     @status  = notification.target_status
 
     locale_for_account(@me) do
+      thread_by_conversation(@status.conversation)
       mail to: @me.user.email, subject: I18n.t('notification_mailer.favourite.subject', name: @account.acct)
     end
   end
@@ -37,6 +39,7 @@ class NotificationMailer < ApplicationMailer
     @status  = notification.target_status
 
     locale_for_account(@me) do
+      thread_by_conversation(@status.conversation)
       mail to: @me.user.email, subject: I18n.t('notification_mailer.reblog.subject', name: @account.acct)
     end
   end
@@ -67,4 +70,13 @@ class NotificationMailer < ApplicationMailer
            )
     end
   end
+
+  private
+
+  def thread_by_conversation(conversation)
+    return if conversation.nil?
+    msg_id = "<conversation-#{conversation.id}.#{conversation.created_at.strftime('%Y-%m-%d')}@#{Rails.configuration.x.local_domain}>"
+    headers['In-Reply-To'] = msg_id
+    headers['References'] = msg_id
+  end
 end