From 97fcccb9957b8538566a858ecf298f15d25b1b52 Mon Sep 17 00:00:00 2001 From: Ricardo Date: Tue, 31 Mar 2026 21:03:45 +0200 Subject: [PATCH] docs: document deferred home timeline reply visibility refinement --- CLAUDE.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 7f17a80..77eb068 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -461,6 +461,8 @@ Own posts are added to `ap_timeline` by the AP syndicator after successful deliv **Reply filtering:** Public and hashtag timelines exclude replies (`inReplyTo: { $exists: false }`). Replies only appear in the context/thread view and the home timeline. This matches Mastodon/Pixelfed behavior. +**Home timeline reply visibility (DEFERRED):** Mastodon only shows replies in the home timeline when the user follows BOTH the replier AND the person being replied to. Our home timeline currently shows all replies from followed accounts regardless. Implementing this requires loading the following list and cross-checking each reply's target author — an expensive join per timeline load. Tracked as a future improvement. + **Keyword filters:** The filters CRUD (`GET/POST/PUT/DELETE /api/v2/filters`) stores filters in `ap_filters` with keywords in `ap_filter_keywords`. `apply-filters.js` loads active filters per context, compiles keyword regexes, and applies them after status serialization: - `filterAction: "hide"` — status removed from response - `filterAction: "warn"` — status kept with `filtered` array attached (Mastodon v2 format)