Undo for Likes and Announces are no longer dropped.

This commit is contained in:
default 2024-04-11 19:29:30 +02:00
parent 1a9bb5fd07
commit 46f2e324d8
2 changed files with 15 additions and 0 deletions

View File

@ -1941,6 +1941,8 @@ int process_input_message(snac *snac, xs_dict *msg, xs_dict *req)
}
else
if (strcmp(type, "Undo") == 0) { /** **/
char *id = xs_dict_get(object, "object");
if (xs_type(object) != XSTYPE_DICT)
utype = "Follow";
@ -1952,6 +1954,18 @@ int process_input_message(snac *snac, xs_dict *msg, xs_dict *req)
else
snac_log(snac, xs_fmt("error deleting follower %s", actor));
}
else
if (strcmp(utype, "Like") == 0) { /** **/
int status = object_unadmire(id, actor, 1);
snac_log(snac, xs_fmt("Unlike for %s %d", id, status));
}
else
if (strcmp(utype, "Announce") == 0) { /** **/
int status = object_unadmire(id, actor, 0);
snac_log(snac, xs_fmt("Unboost for %s %d", id, status));
}
else
snac_debug(snac, 1, xs_fmt("ignored 'Undo' for object type '%s'", utype));
}

1
data.c
View File

@ -916,6 +916,7 @@ int object_unadmire(const char *id, const char *actor, int like)
fn = xs_replace_i(fn, ".json", like ? "_l.idx" : "_a.idx");
status = index_del(fn, actor);
index_gc(fn);
srv_debug(0,
xs_fmt("object_unadmire (%s) %s %s %d", like ? "Like" : "Announce", actor, fn, status));