From 203db3b09e3ebf8677f75e83e5470b99c74de470 Mon Sep 17 00:00:00 2001 From: default Date: Wed, 4 Dec 2024 05:51:17 +0100 Subject: Fixed bug in blocked instance rejection. --- mastoapi.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'mastoapi.c') diff --git a/mastoapi.c b/mastoapi.c index a529990..0332629 100644 --- a/mastoapi.c +++ b/mastoapi.c @@ -1349,6 +1349,9 @@ xs_list *mastoapi_timeline(snac *user, const xs_dict *args, const char *index_fn if (!xs_match(type, POSTLIKE_OBJECT_TYPE)) continue; + if (is_instance_blocked(id)) + continue; + const char *from = NULL; if (strcmp(type, "Page") == 0) from = xs_dict_get(msg, "audience"); -- cgit From e0ba66a53e8cd89b900b895675588c29d5bb7a2d Mon Sep 17 00:00:00 2001 From: default Date: Wed, 4 Dec 2024 05:53:12 +0100 Subject: Check for existing id. --- html.c | 2 +- mastoapi.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'mastoapi.c') diff --git a/html.c b/html.c index 26831f5..9a01bea 100644 --- a/html.c +++ b/html.c @@ -1524,7 +1524,7 @@ xs_html *html_entry(snac *user, xs_dict *msg, int read_only, if ((read_only || !user) && !is_msg_public(msg)) return NULL; - if (is_instance_blocked(id)) + if (id && is_instance_blocked(id)) return NULL; if (user && level == 0 && xs_is_true(xs_dict_get(user->config, "collapse_threads"))) diff --git a/mastoapi.c b/mastoapi.c index 0332629..ee9ecec 100644 --- a/mastoapi.c +++ b/mastoapi.c @@ -1349,7 +1349,7 @@ xs_list *mastoapi_timeline(snac *user, const xs_dict *args, const char *index_fn if (!xs_match(type, POSTLIKE_OBJECT_TYPE)) continue; - if (is_instance_blocked(id)) + if (id && is_instance_blocked(id)) continue; const char *from = NULL; -- cgit From 2edce5e0ec5d098a7b879df20496cd636fa6d192 Mon Sep 17 00:00:00 2001 From: default Date: Wed, 4 Dec 2024 21:45:49 +0100 Subject: mastoapi: show contact metrics if the user want. --- mastoapi.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'mastoapi.c') diff --git a/mastoapi.c b/mastoapi.c index ee9ecec..4efe182 100644 --- a/mastoapi.c +++ b/mastoapi.c @@ -663,6 +663,17 @@ xs_dict *mastoapi_account(snac *logged, const xs_dict *actor) if (user_open(&user, prefu)) { val_links = user.links; metadata = xs_dict_get_def(user.config, "metadata", xs_stock(XSTYPE_DICT)); + + /* does this user want to publish their contact metrics? */ + if (xs_is_true(xs_dict_get(user.config, "show_contact_metrics"))) { + xs *fwing = following_list(&user); + xs *fwers = follower_list(&user); + xs *ni = xs_number_new(xs_list_len(fwing)); + xs *ne = xs_number_new(xs_list_len(fwers)); + + acct = xs_dict_append(acct, "followers_count", ne); + acct = xs_dict_append(acct, "following_count", ni); + } } } -- cgit From e6d8cc26eaef1482b66acaf5f934536dde709109 Mon Sep 17 00:00:00 2001 From: default Date: Wed, 4 Dec 2024 21:58:19 +0100 Subject: mastoapi: also fill metrics from credentials_get(). --- mastoapi.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'mastoapi.c') diff --git a/mastoapi.c b/mastoapi.c index 4efe182..990898b 100644 --- a/mastoapi.c +++ b/mastoapi.c @@ -1286,6 +1286,17 @@ void credentials_get(char **body, char **ctype, int *status, snac snac) acct = xs_dict_append(acct, "following_count", xs_stock(0)); acct = xs_dict_append(acct, "statuses_count", xs_stock(0)); + /* does this user want to publish their contact metrics? */ + if (xs_is_true(xs_dict_get(snac.config, "show_contact_metrics"))) { + xs *fwing = following_list(&snac); + xs *fwers = follower_list(&snac); + xs *ni = xs_number_new(xs_list_len(fwing)); + xs *ne = xs_number_new(xs_list_len(fwers)); + + acct = xs_dict_append(acct, "followers_count", ne); + acct = xs_dict_append(acct, "following_count", ni); + } + *body = xs_json_dumps(acct, 4); *ctype = "application/json"; *status = HTTP_STATUS_OK; -- cgit