summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--activitypub.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/activitypub.c b/activitypub.c
index f8b08fb..968450b 100644
--- a/activitypub.c
+++ b/activitypub.c
@@ -1519,21 +1519,31 @@ xs_dict *msg_delete(snac *snac, const char *id)
1519 msg = msg_base(snac, "Delete", "@object", snac->actor, "@now", tomb); 1519 msg = msg_base(snac, "Delete", "@object", snac->actor, "@now", tomb);
1520 1520
1521 xs *to = xs_list_new(); 1521 xs *to = xs_list_new();
1522 xs *likes = object_likes(id); 1522 xs *admirers = object_likes(id);
1523 xs *boosts = object_announces(id); 1523 xs *boosts = object_announces(id);
1524 const char *v; 1524 admirers = xs_list_cat(admirers, boosts);
1525 const char *md5;
1525 1526
1526 /* add everybody */ 1527 /* add everybody */
1527 to = xs_list_append(to, public_address); 1528 to = xs_list_append(to, public_address);
1528 1529
1529 /* add actors that liked or boosted this */ 1530 /* add actors that liked or boosted this */
1530 xs_list_foreach(likes, v) 1531 xs_list_foreach(admirers, md5) {
1531 to = xs_list_append(to, v); 1532 xs *actor = NULL;
1532 xs_list_foreach(boosts, v) 1533
1533 to = xs_list_append(to, v); 1534 if (valid_status(object_get_by_md5(md5, &actor))) {
1535 const char *id = xs_dict_get(actor, "id");
1536
1537 if (xs_is_string(id))
1538 to = xs_list_append(to, id);
1539 }
1540 }
1534 1541
1535 msg = xs_dict_append(msg, "to", to); 1542 msg = xs_dict_append(msg, "to", to);
1536 1543
1544xs_json_dump(msg, 4, stdout);
1545printf("\n");
1546
1537 return msg; 1547 return msg;
1538} 1548}
1539 1549