Skip to content

Stop Latest Following from ignoring hide-replies and hide-links - #152

Open
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:cursor/following-hide-replies-links-300d
Open

Stop Latest Following from ignoring hide-replies and hide-links#152
Pitchfork-and-Torch wants to merge 1 commit into
xai-org:mainfrom
Pitchfork-and-Torch:cursor/following-hide-replies-links-300d

Conversation

@Pitchfork-and-Torch

Copy link
Copy Markdown

Bug

Latest Following copies exclude_videos (#120) and still ignores the rest of the viewer content-controls.

QueryBuilder never copied hide_replies / hide_links / exclude_replies / exclude_retweets. Night Owl always searched with include:retweets and never applied -filter:replies or -filter:links. Reverse-chron filters were RT-dedup, muted keyword, and self-reply. Hide-replies and hide-links were a no-op.

Ranked Following / For You already have VideoFilter for hide-videos. They had no reply/link/retweet content-control filter either; the same mixer filter is wired next to VideoFilter.

This is not #120 (hide-videos / MediaInfo). Not #98 (quoted video duration). Not #99 / #132 (self-reply chains).

Five-line proof

  • Entry: Following URT QueryBuilder (server.rs) and Night Owl old_query (following_night_owl_source.rs)
  • Sink: FollowingContentControlsFilter on ReverseChronPostsPipeline (and Phoenix next to VideoFilter)
  • Break: proto hide-replies / hide-links / exclude-replies / exclude-retweets were never copied; Night Owl hardcoded include:retweets
  • Viewer effect: user who hid replies, links, or retweets still saw them on Latest Following
  • Twin: exclude_videos is already copied and VideoFilter already exists (Stop Latest Following from ignoring hide-videos #120)

Change

  • Copy hide_replies, hide_links, exclude_replies, exclude_retweets onto ScoredPostsQuery
  • Night Owl: -filter:replies, -filter:links, and -filter:nativeretweets when those flags are set
  • Mixer filter drops replies / link cards (tweet, quoted, ancestor text) / retweets when the matching flag is on
  • Wire the filter on reverse-chron and Phoenix

Tests

  • hide_replies / exclude_replies drop replies, keep originals
  • hide_links drops https / t.co / quoted URL / www. host, keeps notwww
  • exclude_retweets drops retweets, keeps replies
  • Off flags keep every type
  • Night Owl operators: default still include:retweets; flags compose
  • Mock reverse-chron filter count includes the new filter

Standalone decision-table harness (same match arms): 19/19 passed.

cargo test cannot run. Public dump has no Home Mixer manifest.

Leftover

For You cached-posts Redis key still keys only on exclude_videos. A cache hit can still contain replies/links; the new Phoenix filter drops them after the hit (slate may underfill). Same class as #98 leftover for quoted duration on cache.

Fork PR: none

QueryBuilder copied exclude_videos but never hide_replies / hide_links /
exclude_replies / exclude_retweets. Night Owl always include:retweets and
never applied -filter:replies or -filter:links, so those viewer preferences
were a no-op on Latest Following.

Co-authored-by: Jon Bailey <Pitchfork-and-Torch@users.noreply.github.com>
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.

2 participants