diff options
author | Griffin Smith <grfn@gws.fyi> | 2021-04-03T17·44-0400 |
---|---|---|
committer | glittershark <grfn@gws.fyi> | 2021-04-04T14·17+0000 |
commit | 8d3ab61e7c136610ae1dc002226559e8c6b21fcb (patch) | |
tree | 31e41b2ad44b2e8abe26e4677c61a4046bdd008a /web/panettone/src/packages.lisp | |
parent | 349b98ccc841587aadc6a2de5684f093cd72d628 (diff) |
feat(panettone): Send email notifications for comments r/2427
When a user posts a comment on an issue, send email notifications (respecting the enable-email-notifications setting) to the author of that issue and all the other users who have commented on that issue. Since the oauth & gmail API stuff that the relay does is slow, this happens in a background thread. Change-Id: Ic00c265deab1030d9ba64c29c9f56314dd179141 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2805 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <mail@tazj.in>
Diffstat (limited to 'web/panettone/src/packages.lisp')
-rw-r--r-- | web/panettone/src/packages.lisp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/web/panettone/src/packages.lisp b/web/panettone/src/packages.lisp index 22a2a8649ac8..891a6a199521 100644 --- a/web/panettone/src/packages.lisp +++ b/web/panettone/src/packages.lisp @@ -32,7 +32,7 @@ (:use :cl :panettone.util :klatre :postmodern :iterate) (:import-from :alexandria :if-let :when-let :define-constant) (:export - :connect-postgres :ddl/init + :connect-postgres :ddl/init :make-thread :user-settings :user-dn :enable-email-notifications-p :settings-for-user @@ -46,7 +46,8 @@ :issue-events - :issue-comments :num-comments :create-issue-comment)) + :issue-comments :num-comments :create-issue-comment + :issue-commenter-dns)) (defpackage panettone.email (:nicknames :email) @@ -69,6 +70,7 @@ (:import-from :defclass-std :defclass/std) (:import-from :alexandria :if-let :when-let :switch :alist-hash-table) (:import-from :cl-ppcre :split) + (:import-from :bordeaux-threads :make-thread) (:import-from :panettone.model :id :subject :body :author-dn :issue-id :status :created-at |