Skip to content

Drop Following posts whose author blocked the viewer - #108

Open
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:fix/following-native-blocked-by
Open

Drop Following posts whose author blocked the viewer#108
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:fix/following-native-blocked-by

Conversation

@Pitchfork-and-Torch

Copy link
Copy Markdown

Bug

FollowingBlockedByHydrator asked socialgraph whether quoted_user_id or retweeted_user_id blocked the viewer. It never sent candidate.author_id. AuthorSocialgraphFilter then drops on author_blocks_viewer (unwrap_or false).

A native Following post from an author who blocked the viewer still served: author_blocks_viewer was written from retweeted_user_id only, so a non-retweet was Some(false). VFFilter None is fail-open, but this path is worse: it claims the author did not block the viewer.

Phoenix BlockedByHydrator already checks author_id. PR 100 added retweeted_user_id on For You. This is the Following twin of that missing native-author edge. This is not mute-on-retweet (PR 9) and not quote mute (PR 23).

Fix

Include author_id in check_blocked_by. Set author_blocks_viewer if either the primary author or the original retweeted author blocked the viewer. Keep quoted_author_blocks_viewer on quoted_user_id.

Proof

  • Entry: FollowingBlockedByHydrator check_blocked_by on reverse-chron Following
  • Sink: AuthorSocialgraphFilter author_blocks_viewer
  • Break: Following never passed author_id into blocked-by
  • Viewer effect: user blocked by A still sees A's native Following post (and A's retweet of B)
  • Twin: Phoenix BlockedByHydrator author_id (PR 100 is the retweet original twin)

Tests

  • native_author_who_blocked_viewer_is_marked (fails on unmodified main)
  • retweet_of_author_who_blocked_viewer_is_still_marked
  • retweeter_who_blocked_viewer_is_marked
  • quoted_author_who_blocked_viewer_is_still_marked
  • unit tests added; cargo test cannot run in the public dump (no Home Mixer Cargo.toml)

@Pitchfork-and-Torch

Copy link
Copy Markdown
Author

Parking this intern-stack PR per operator GitHub cleanup (2026-09-08). Hunt notes remain local. Not a reject of the class.

@Pitchfork-and-Torch

Copy link
Copy Markdown
Author

Reopened. This was a serving-path hunt PR parked by mistake during the 2026-09-08 intern-stack cleanup. Not a reject of the class. Leaving it for xAI review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant