diff options
author | default <nobody@localhost> | 2024-04-17 08:09:05 +0200 |
---|---|---|
committer | default <nobody@localhost> | 2024-04-17 08:09:05 +0200 |
commit | 44d126e0f96748f7f5e0c8a95ed8b3f5f69cd0f0 (patch) | |
tree | 0e4f07f3678c5a3738e6412be14aeb0bd5423df1 /html.c | |
parent | 2e31253ba8de74e073fd104785bde78510c843c1 (diff) |
Improved non-public reply check.
Diffstat (limited to 'html.c')
-rw-r--r-- | html.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -2054,11 +2054,13 @@ xs_str *html_timeline(snac *user, const xs_list *list, int read_only, if (user != NULL && !is_msg_public(msg)) { char *irt = xs_dict_get(msg, "inReplyTo"); + /* is it a reply to something not in the storage? */ if (!xs_is_null(irt) && !object_here(irt)) { /* is it for me? */ - xs_list *to = xs_dict_get(msg, "to"); + xs_list *to = xs_dict_get_def(msg, "to", xs_stock(XSTYPE_LIST)); + xs_list *cc = xs_dict_get_def(msg, "cc", xs_stock(XSTYPE_LIST)); - if (xs_type(to) == XSTYPE_LIST && xs_list_in(to, user->actor) == -1) { + if (xs_list_in(to, user->actor) == -1 && xs_list_in(cc, user->actor) == -1) { snac_debug(user, 1, xs_fmt("skipping non-public reply to an unknown post %s", v)); continue; } |