Timeline filter "Show replies to my follows" does not include follows' self replies #256

Open
opened 2022-11-07 08:57:07 +00:00 by Beefox · 2 comments

i have narrowed down this issue to being due to the fact that when replying to yourself, you are not set as a recipiant. meanwhile recipients are checked for deciding if they are directed towards your following.

Now this makes sense, both parts, but they culminate in an issue where when replying to themselves, those replies are not included in timelines. the solution i propose is to check if the "in_reply_to_id" (not entirely sure how this is used in the code, which is why i haven't managed to work a solution by myself) is someone you follow.

i have narrowed down this issue to being due to the fact that when replying to yourself, you are not set as a recipiant. meanwhile recipients are checked for deciding if they are directed towards your following. Now this makes sense, both parts, but they culminate in an issue where when replying to themselves, those replies are not included in timelines. the solution i propose is to check if the "in_reply_to_id" (not entirely sure how this is used in the code, which is why i haven't managed to work a solution by myself) is someone you follow.

Just wanted to +1 this, I had used Pleroma for almost all of 2021 and this has been a problem for awhile. A lot of people post in threads and come back hours or days later to reply again, and there's no way to see that unless you have all replies on (and that's honestly way too noisy).

Just wanted to +1 this, I had used Pleroma for almost all of 2021 and this has been a problem for awhile. A lot of people post in threads and come back hours or days later to reply again, and there's no way to see that unless you have all replies on (and that's honestly way too noisy).
Member

i have narrowed down this issue to being due to the fact that when replying to yourself, you are not set as a recipiant.

This is a good guess, but not quite what’s happening. In the database the post author still shows up as a recipient and if it’s a pure self-reply the to field of the activity and object for Create types. only the cc field excludes the author. However, since authors always are recipients of their posts, the query filter for follows-only visibility actually excludes them before checking if any of the remaining are followers.

The exclusion leading to this exact bug is actually documented in the accompanying code comment for ~3 years; see ee3052a2d8 (the bug existed before, but this commit documented it). As of pleroma@4c5b45ed Pleroma also has no fix for this yet we could cherry-pick.

I have a crude fix (additionally check if post author is the only account-type recipient), but am not quite happy with how it hardcodes the non-account URIs to filter out yet (and the hardcoded values may not necessarily be portable). If someone can come up with a better approach or has an idea how to do this in a portable and efficient manner, they are more than welcome to take this over.

Update: Nope, the assumptions going into the crude "fix" turned out to be flawed, so I don't have anything to offer unfortunately

> i have narrowed down this issue to being due to the fact that when replying to yourself, you are not set as a recipiant. This is a good guess, but not quite what’s happening. In the database the post author still shows up as a recipient and if it’s a pure self-reply the `to` field of the activity and object for `Create` types. ~~only the `cc` field excludes the author.~~ However, since authors always are recipients of their posts, the query filter for follows-only visibility actually excludes them before checking if any of the remaining are followers. The exclusion leading to this exact bug is actually documented in the accompanying code comment for ~3 years; see ee3052a2d8fda37e27f31c8d824ce7ac174b993c *(the bug existed before, but this commit documented it)*. As of [pleroma@4c5b45ed](https://git.pleroma.social/pleroma/pleroma/-/commit/4c5b45ed73e93e6e8bcfeb527b9b398ec64c0caf) Pleroma also has no fix for this yet we could cherry-pick. ~~I have a *crude* fix (additionally check if post author is the only account-type recipient), but am not quite happy with how it hardcodes the non-account URIs to filter out yet (and the hardcoded values may not necessarily be portable). If someone can come up with a better approach or has an idea how to do this in a portable and efficient manner, they are more than welcome to take this over.~~ Update: Nope, the assumptions going into the crude "fix" turned out to be flawed, so I don't have anything to offer unfortunately
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: AkkomaGang/akkoma#256
No description provided.