commit 7fe866d60de77e1accf56afb14724bcd2a00992f
parent f28e52032215722dc6e0e3fe0543b9699d5a87bf
Author: default <nobody@localhost>
Date: Thu, 7 Mar 2024 09:29:01 +0100
Returns empty anchors for hidden posts or muted actors.
This will help keeping the previous position after 'Hide' or 'MUTE'.
Diffstat:
M | html.c | | | 20 | ++++++++++++++++---- |
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git 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)))