diff --git a/html.c b/html.c index 8a21986..162a2da 100644 --- a/html.c +++ b/html.c @@ -1324,8 +1324,14 @@ xs_html *html_entry(snac *user, xs_dict *msg, int read_only, return NULL; /* hidden? do nothing more for this conversation */ - if (user && is_hidden(user, id)) - return NULL; + if (user && is_hidden(user, id)) { + xs *s1 = xs_fmt("%s_entry", md5); + + /* return just an dummy anchor, to keep position after hitting 'Hide' */ + return xs_html_tag("div", + xs_html_tag("a", + xs_html_attr("name", s1))); + } /* avoid too deep nesting, as it may be a loop */ if (level >= 256) @@ -1356,8 +1362,14 @@ xs_html *html_entry(snac *user, xs_dict *msg, int read_only, return NULL; /* ignore muted morons immediately */ - if (user && is_muted(user, actor)) - return NULL; + if (user && is_muted(user, actor)) { + xs *s1 = xs_fmt("%s_entry", md5); + + /* return just an dummy anchor, to keep position after hitting 'MUTE' */ + return xs_html_tag("div", + xs_html_tag("a", + xs_html_attr("name", s1))); + } if ((user == NULL || strcmp(actor, user->actor) != 0) && !valid_status(actor_get(actor, NULL)))