commit f1f3e3b11631f0075597ff93f7b4775f3403d48e
parent a3804c2c89482652b270f43d21e70eff63dc76d1
Author: default <nobody@localhost>
Date: Mon, 20 Feb 2023 06:00:54 +0100
Email notifications can be disabled.
Diffstat:
2 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/activitypub.c b/activitypub.c
@@ -838,9 +838,19 @@ void notify(snac *snac, xs_str *type, xs_str *utype, xs_str *actor, xs_dict *msg
/* email */
- char *email = xs_dict_get(snac->config, "email");
+ const char *email = "[disabled by admin]";
- if (!xs_is_null(email) && *email != '\0') {
+ if (xs_type(xs_dict_get(srv_config, "disable_email_notifications")) != XSTYPE_TRUE) {
+ email = xs_dict_get(snac->config_o, "email");
+ if (xs_is_null(email)) {
+ email = xs_dict_get(snac->config, "email");
+
+ if (xs_is_null(email))
+ email = "[empty]";
+ }
+ }
+
+ if (*email != '[') {
snac_debug(snac, 1, xs_fmt("email notify %s %s %s", type, utype, actor));
xs *subject = xs_fmt("snac notify for @%s@%s",
diff --git a/html.c b/html.c
@@ -327,9 +327,17 @@ d_char *html_top_controls(snac *snac, d_char *s)
"</div>\n"
"</div>\n";
- char *email = xs_dict_get(snac->config, "email");
- if (xs_is_null(email))
- email = "";
+ const char *email = "[disabled by admin]";
+
+ if (xs_type(xs_dict_get(srv_config, "disable_email_notifications")) != XSTYPE_TRUE) {
+ email = xs_dict_get(snac->config_o, "email");
+ if (xs_is_null(email)) {
+ email = xs_dict_get(snac->config, "email");
+
+ if (xs_is_null(email))
+ email = "";
+ }
+ }
char *cw = xs_dict_get(snac->config, "cw");
if (xs_is_null(cw))