From ff52f779b7d47da0274287c01a4cdd19e952c73e Mon Sep 17 00:00:00 2001 From: grunfink Date: Mon, 18 Aug 2025 19:54:53 +0200 Subject: New function enqueue_collect_replies(). --- activitypub.c | 6 ++++++ data.c | 13 +++++++++++++ main.c | 2 +- snac.h | 1 + 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/activitypub.c b/activitypub.c index a375584..065fbcd 100644 --- a/activitypub.c +++ b/activitypub.c @@ -2914,6 +2914,12 @@ void process_user_queue_item(snac *user, xs_dict *q_item) } } } + else + if (strcmp(type, "collect_replies") == 0) { + const char *post = xs_dict_get(q_item, "message"); + + collect_replies(user, post); + } else snac_log(user, xs_fmt("unexpected user q_item type '%s'", type)); } diff --git a/data.c b/data.c index 70bd031..ca5e3ed 100644 --- a/data.c +++ b/data.c @@ -3576,6 +3576,19 @@ void enqueue_notify_webhook(snac *user, const xs_dict *noti, int retries) } +void enqueue_collect_replies(snac *user, const char *post) +/* enqueues a collect replies request */ +{ + xs *qmsg = _new_qmsg("collect_replies", post, 0); + const char *ntid = xs_dict_get(qmsg, "ntid"); + xs *fn = xs_fmt("%s/queue/%s.json", user->basedir, ntid); + + qmsg = _enqueue_put(fn, qmsg); + + snac_debug(user, 1, xs_fmt("enqueue_collect_replies %s", post)); +} + + int was_question_voted(snac *user, const char *id) /* returns true if the user voted in this poll */ { diff --git a/main.c b/main.c index 0a78489..e53bdf8 100644 --- a/main.c +++ b/main.c @@ -731,7 +731,7 @@ int main(int argc, char *argv[]) } if (strcmp(cmd, "collect_replies") == 0) { /** **/ - collect_replies(&snac, url); + enqueue_collect_replies(&snac, url); return 0; } diff --git a/snac.h b/snac.h index 82c4a98..363855f 100644 --- a/snac.h +++ b/snac.h @@ -297,6 +297,7 @@ void enqueue_verify_links(snac *user); void enqueue_actor_refresh(snac *user, const char *actor, int forward_secs); void enqueue_webmention(const xs_dict *msg); void enqueue_notify_webhook(snac *user, const xs_dict *noti, int retries); +void enqueue_collect_replies(snac *user, const char *post); int was_question_voted(snac *user, const char *id); -- cgit v1.2.3