diff options
Diffstat (limited to 'html.c')
-rw-r--r-- | html.c | 20 |
1 files changed, 16 insertions, 4 deletions
@@ -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))) |