commit 60f77b6

default  ·  2023-03-06 10:26:43 +0000 UTC
parent 7512116
msg_update() sends copies the 'to' and 'cc' fields in notes.
2 files changed,  +10, -3
M snac.h
+9, -2
 1@@ -445,12 +445,19 @@ d_char *msg_accept(snac *snac, char *object, char *to)
 2 }
 3 
 4 
 5-d_char *msg_update(snac *snac, char *object)
 6+xs_dict *msg_update(snac *snac, xs_dict *object)
 7 /* creates an Update message */
 8 {
 9     d_char *msg = msg_base(snac, "Update", "@object", snac->actor, "@now", object);
10 
11-    msg = xs_dict_append(msg, "to", public_address);
12+    char *type = xs_dict_get(object, "type");
13+
14+    if (strcmp(type, "Note") == 0) {
15+        msg = xs_dict_append(msg, "to", xs_dict_get(object, "to"));
16+        msg = xs_dict_append(msg, "cc", xs_dict_get(object, "cc"));
17+    }
18+    else
19+        msg = xs_dict_append(msg, "to", public_address);
20 
21     return msg;
22 }
M snac.h
+1, -1
1@@ -183,7 +183,7 @@ xs_dict *msg_note(snac *snac, xs_str *content, xs_val *rcpts,
2 d_char *msg_undo(snac *snac, char *object);
3 d_char *msg_delete(snac *snac, char *id);
4 d_char *msg_actor(snac *snac);
5-d_char *msg_update(snac *snac, char *object);
6+xs_dict *msg_update(snac *snac, xs_dict *object);
7 
8 int activitypub_request(snac *snac, char *url, d_char **data);
9 int actor_request(snac *snac, char *actor, d_char **data);