It is only basic, but works in this way for other platforms.
It works because MUAs are able to reconstruct threads originating from mails
they don't know about (unknown Message-ID).
This has some drawbacks:
* MUAs might show the missing start of the thread. As a normal user of a
package never got *all* notifications of a package anyways it only reflects
the reality
* Missing notifications go unnoticed. This is no regression so it should be
fine
Those could be fixed by including all previous comments in 'References:',
which would require to have predictable 'Message-ID:' for notification mails.
This would require more code and more database accesses at runtime.
Could also be used for out of date notifications.
---
web/lib/pkgbasefuncs.inc.php | 3 +++
1 file changed, 3 insertions(+)
diff --git a/web/lib/pkgbasefuncs.inc.php b/web/lib/pkgbasefuncs.inc.php
index 4d05b94..34ff302 100644
--- a/web/lib/pkgbasefuncs.inc.php
+++ b/web/lib/pkgbasefuncs.inc.php
@@ -133,11 +133,14 @@ function pkgbase_add_comment($base_id, $uid, $comment) {
. "\n\n---\nIf you no longer wish to receive notifications
about this package, please go the the above package page and click the UnNotify
button.";
$body = wordwrap($body, 70);
$bcc = implode(', ', $bcc);
+ $thread_id = "<pkg-notifications-" . $row['Name'] .
"@aur.archlinux.org>";
$headers = "MIME-Version: 1.0\r\n" .
"Content-type: text/plain; charset=UTF-8\r\n" .
"Bcc: $bcc\r\n" .
"Reply-to: [email protected]\r\n" .
"From: [email protected]\r\n" .
+ "In-Reply-To: $thread_id\r\n" .
+ "References: $thread_id\r\n" .
"X-Mailer: AUR";
@mail('undisclosed-recipients: ;', "AUR Comment for " .
$row['Name'], $body, $headers);
}
--
1.9.3