From 9fcff1467e0eb4a095373de5f27e10fa8200fa16 Mon Sep 17 00:00:00 2001 From: default Date: Sun, 5 Jan 2025 16:53:30 +0100 Subject: New configuration directive "max_public_entries". --- activitypub.c | 6 +++--- html.c | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/activitypub.c b/activitypub.c index ea4d8ea..1ae5ad9 100644 --- a/activitypub.c +++ b/activitypub.c @@ -2919,12 +2919,12 @@ int activitypub_get_handler(const xs_dict *req, const char *q_path, xs *id = xs_fmt("%s/%s", snac.actor, p_path); xs *list = xs_list_new(); const char *v; - int tc = 0; + int cnt = xs_number_get(xs_dict_get_def(srv_config, "max_public_entries", "20")); /* get the public outbox or the pinned list */ - xs *elems = *p_path == 'o' ? timeline_simple_list(&snac, "public", 0, 20) : pinned_list(&snac); + xs *elems = *p_path == 'o' ? timeline_simple_list(&snac, "public", 0, cnt) : pinned_list(&snac); - while (xs_list_next(elems, &v, &tc)) { + xs_list_foreach(elems, v) { xs *i = NULL; if (valid_status(object_get_by_md5(v, &i))) { diff --git a/html.c b/html.c index 2cb2365..e8803ab 100644 --- a/html.c +++ b/html.c @@ -3423,7 +3423,9 @@ int html_get_handler(const xs_dict *req, const char *q_path, if (xs_type(xs_dict_get(snac.config, "private")) == XSTYPE_TRUE) return HTTP_STATUS_FORBIDDEN; - xs *elems = timeline_simple_list(&snac, "public", 0, 20); + int cnt = xs_number_get(xs_dict_get_def(srv_config, "max_public_entries", "20")); + + xs *elems = timeline_simple_list(&snac, "public", 0, cnt); xs *bio = xs_dup(xs_dict_get(snac.config, "bio")); xs *rss_title = xs_fmt("%s (@%s@%s)", -- cgit v1.2.3