diff options
Diffstat (limited to 'activitypub.c')
-rw-r--r-- | activitypub.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/activitypub.c b/activitypub.c index 13e17b3..39d1605 100644 --- a/activitypub.c +++ b/activitypub.c @@ -555,7 +555,7 @@ d_char *msg_accept(snac *snac, char *object, char *to) xs_dict *msg_update(snac *snac, xs_dict *object) /* creates an Update message */ { - d_char *msg = msg_base(snac, "Update", "@object", snac->actor, "@now", object); + xs_dict *msg = msg_base(snac, "Update", "@object", snac->actor, "@now", object); char *type = xs_dict_get(object, "type"); @@ -564,6 +564,16 @@ xs_dict *msg_update(snac *snac, xs_dict *object) msg = xs_dict_append(msg, "cc", xs_dict_get(object, "cc")); } else + if (strcmp(type, "Person") == 0) { + msg = xs_dict_append(msg, "to", public_address); + + /* also spam the people being followed, so that + they have the newest information about who we are */ + xs *cc = following_list(snac); + + msg = xs_dict_append(msg, "cc", cc); + } + else msg = xs_dict_append(msg, "to", public_address); return msg; |