aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgrunfink <grunfink@comam.es>2025-08-18 19:54:53 +0200
committergrunfink <grunfink@comam.es>2025-08-18 19:54:53 +0200
commitff52f779b7d47da0274287c01a4cdd19e952c73e (patch)
tree5f8f7e24191253ff6a24df8d5767049503cae591
parent1b8206fe25cd4737b3b497d9af7e729043a75c76 (diff)
New function enqueue_collect_replies().
-rw-r--r--activitypub.c6
-rw-r--r--data.c13
-rw-r--r--main.c2
-rw-r--r--snac.h1
4 files changed, 21 insertions, 1 deletions
diff --git a/activitypub.c b/activitypub.c
index a375584..065fbcd 100644
--- a/activitypub.c
+++ b/activitypub.c
@@ -2915,6 +2915,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);