summaryrefslogtreecommitdiff
path: root/html.c
diff options
context:
space:
mode:
authordefault <nobody@localhost>2024-04-17 08:09:05 +0200
committerdefault <nobody@localhost>2024-04-17 08:09:05 +0200
commit44d126e0f96748f7f5e0c8a95ed8b3f5f69cd0f0 (patch)
tree0e4f07f3678c5a3738e6412be14aeb0bd5423df1 /html.c
parent2e31253ba8de74e073fd104785bde78510c843c1 (diff)
Improved non-public reply check.
Diffstat (limited to 'html.c')
-rw-r--r--html.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/html.c b/html.c
index 59ada61..0fca601 100644
--- a/html.c
+++ b/html.c
@@ -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;
}