summaryrefslogtreecommitdiff
path: root/data.c
diff options
context:
space:
mode:
authordefault <nobody@localhost>2022-12-03 20:28:23 +0100
committerdefault <nobody@localhost>2022-12-03 20:28:23 +0100
commit3929778ea1e37c48d4d94a804f5dd32bcf89b926 (patch)
treeb5c816a57e15f8a8a72346b7e512441f0f5d3ecb /data.c
parent3c95c8a7a3363c7f0c539e42ede98b88373b72ec (diff)
Don't store messages in public/ that are not public.
They weren't shown anyway, but it's better to be sure.
Diffstat (limited to 'data.c')
-rw-r--r--data.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/data.c b/data.c
index 36fa65e..0c58f8e 100644
--- a/data.c
+++ b/data.c
@@ -780,8 +780,15 @@ void timeline_update_indexes(snac *snac, const char *id)
{
object_user_cache_add(snac, id, "private");
- if (xs_startswith(id, snac->actor))
- object_user_cache_add(snac, id, "public");
+ if (xs_startswith(id, snac->actor)) {
+ xs *msg = NULL;
+
+ if (valid_status(object_get(id, &msg, NULL))) {
+ /* if its ours and is public, also store in public */
+ if (is_msg_public(snac, msg))
+ object_user_cache_add(snac, id, "public");
+ }
+ }
}