diff options
| author | grunfink <grunfink@comam.es> | 2025-07-27 15:54:09 +0200 |
|---|---|---|
| committer | grunfink <grunfink@comam.es> | 2025-07-27 15:54:09 +0200 |
| commit | 4923628ac6f23c4cf4257e8f11e9668295721a8d (patch) | |
| tree | cbb778e29a4364eb557cd73fda81fddcfccf061b /activitypub.c | |
| parent | 8278719e13bc70dc12daabda3b8d6b1f010b17a8 (diff) | |
Fixed bug in new delete targets.
Diffstat (limited to 'activitypub.c')
| -rw-r--r-- | activitypub.c | 22 |
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) msg = msg_base(snac, "Delete", "@object", snac->actor, "@now", tomb); xs *to = xs_list_new(); - xs *likes = object_likes(id); + xs *admirers = object_likes(id); xs *boosts = object_announces(id); - const char *v; + admirers = xs_list_cat(admirers, boosts); + const char *md5; /* add everybody */ to = xs_list_append(to, public_address); /* add actors that liked or boosted this */ - xs_list_foreach(likes, v) - to = xs_list_append(to, v); - xs_list_foreach(boosts, v) - to = xs_list_append(to, v); + xs_list_foreach(admirers, md5) { + xs *actor = NULL; + + if (valid_status(object_get_by_md5(md5, &actor))) { + const char *id = xs_dict_get(actor, "id"); + + if (xs_is_string(id)) + to = xs_list_append(to, id); + } + } msg = xs_dict_append(msg, "to", to); +xs_json_dump(msg, 4, stdout); +printf("\n"); + return msg; } |