summaryrefslogtreecommitdiff
path: root/mastoapi.c
diff options
context:
space:
mode:
authordefault <nobody@localhost>2023-10-09 11:49:45 +0200
committerdefault <nobody@localhost>2023-10-09 11:49:45 +0200
commit1b3f768a57f42c3fab5363fc60b88912ebf649ee (patch)
treec71a2b6eb23aa9d46991045c59f448f035050218 /mastoapi.c
parent4676f8ce1383090da49f574282b7f7511ce15dd9 (diff)
mastoapi: some tweaks to better match the returned data in timelines.
Diffstat (limited to 'mastoapi.c')
-rw-r--r--mastoapi.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/mastoapi.c b/mastoapi.c
index 273807b..3473781 100644
--- a/mastoapi.c
+++ b/mastoapi.c
@@ -1265,7 +1265,7 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path,
if (limit == 0)
limit = 20;
- xs *timeline = timeline_simple_list(&snac1, "private", 0, 256);
+ xs *timeline = timeline_simple_list(&snac1, "private", 0, 2048);
xs *out = xs_list_new();
xs_list *p = timeline;
@@ -1304,19 +1304,24 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path,
if (strcmp(type, "Note") != 0 && strcmp(type, "Question") != 0)
continue;
-#if 0
- /* discard notes from people we don't follow with no boosts */
- if (!following_check(&snac1, xs_dict_get(msg, "attributedTo")) &&
- object_announces_len(xs_dict_get(msg, "id")) == 0)
- continue;
-#endif
+ const char *atto = xs_dict_get(msg, "attributedTo");
+ const char *id = xs_dict_get(msg, "id");
+
+ /* is this message from a person we don't follow? */
+ if (strcmp(atto, snac1.actor) && !following_check(&snac1, atto)) {
+ /* if we didn't boost it, discard */
+ xs *idx = object_announces(id);
+
+ if (xs_list_in(idx, snac1.md5) == -1)
+ continue;
+ }
/* discard notes from muted morons */
- if (is_muted(&snac1, xs_dict_get(msg, "attributedTo")))
+ if (is_muted(&snac1, atto))
continue;
/* discard hidden notes */
- if (is_hidden(&snac1, xs_dict_get(msg, "id")))
+ if (is_hidden(&snac1, id))
continue;
/* discard poll votes (they have a name) */