Skip to content

feat(feed): content-visibility experiment for long feeds#6221

Merged
rebelchris merged 1 commit into
mainfrom
feat-content-visibility-feed
Jun 19, 2026
Merged

feat(feed): content-visibility experiment for long feeds#6221
rebelchris merged 1 commit into
mainfrom
feat-content-visibility-feed

Conversation

@rebelchris

@rebelchris rebelchris commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

What

Experiment (feed_content_visibility, GrowthBook, default false) that adds content-visibility: auto + contain-intrinsic-size to feed cards so the browser skips layout/paint for off-screen cards on long vertical feeds.

Why

Reports of long feeds becoming slow/unresponsive after scrolling through many posts (ENG-1676, ENG-1681). At ~1000 posts the entire flattened list is in the DOM with no virtualization, so every scroll frame pays layout+paint across all cards. This bounds the render cost at minimal risk without rewriting the col-span grid or scroll logic.

Notes

  • Control is unchanged: when the flag is off (or feed is horizontal), non-widened items render bare as today — the wrapper only appears in the variant.
  • Grid cards keep the h-full equal-height-row pass-through; list cards stack at natural height.
  • Bounds render cost, not memory — DOM nodes still accumulate. If iOS "refreshes to top" turns out to be OOM rather than CPU jank, escalate to row virtualization.

🤖 Generated with Claude Code

Preview domain

https://feat-content-visibility-feed.preview.app.daily.dev

@vercel

vercel Bot commented Jun 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
daily-webapp Error Error Jun 19, 2026 1:37pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
storybook Ignored Ignored Jun 19, 2026 1:37pm

Request Review

@rebelchris rebelchris merged commit 2d13057 into main Jun 19, 2026
12 checks passed
@rebelchris rebelchris deleted the feat-content-visibility-feed branch June 19, 2026 13:54
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