Output to the shared inboxes only the public messages.

This commit is contained in:
default 2023-03-02 10:26:52 +01:00
parent 987f1d288b
commit 4773d6c64c

View file

@ -1101,20 +1101,23 @@ void process_user_queue_item(snac *snac, xs_dict *q_item)
if (strcmp(type, "message") == 0) { if (strcmp(type, "message") == 0) {
xs_dict *msg = xs_dict_get(q_item, "message"); xs_dict *msg = xs_dict_get(q_item, "message");
xs *rcpts = recipient_list(snac, msg, 1); xs *rcpts = recipient_list(snac, msg, 1);
xs *shibx = inbox_list();
xs_set inboxes; xs_set inboxes;
xs_list *p; xs_list *p;
xs_str *v;
xs_str *actor; xs_str *actor;
xs_set_init(&inboxes); xs_set_init(&inboxes);
/* send first to the collected inboxes */ /* if it's public, send first to the collected inboxes */
if (is_msg_public(snac, msg)) {
xs *shibx = inbox_list();
xs_str *v;
p = shibx; p = shibx;
while (xs_list_iter(&p, &v)) { while (xs_list_iter(&p, &v)) {
if (xs_set_add(&inboxes, v) == 1) if (xs_set_add(&inboxes, v) == 1)
enqueue_output(snac, msg, v, 0); enqueue_output(snac, msg, v, 0);
} }
}
/* iterate now the recipients */ /* iterate now the recipients */
p = rcpts; p = rcpts;