# screenshot agent timed out on infinite scroll locale pages

## TL;DR

Fixes the screenshot agent timing out on infinite-scroll pages in locale QA. Scroll to a fixed depth or stub the feed before capturing. Use when locale screenshots time out on feeds. Not for static pages.

## The error

```text
Screenshot agent timed out after 120s scrolling the localized activity feed.
```

## Fix it

### Step 1: Confirm the infinite scroll

```bash
node -e "console.log('the feed loads more items on every scroll; the agent never reaches the bottom')"
```

Expected: You confirm the page never settles.

### Step 2: Cap the scroll depth

```bash
node -e "console.log('scroll a fixed number of viewports, then capture')"
```

Expected: The agent captures a bounded page.

### Step 3: Re-run the locale suite

```bash
node -e "console.log('confirm screenshots complete for every locale')"
```

Expected: The suite finishes.

## When to use this

- Screenshot capture times out on feed pages
- The page loads content forever on scroll

## When NOT to use this

- Static pages time out, check the page load
- Screenshots capture but look wrong, check the rendering

## Tool and version compatibility

- Playwright and Puppeteer
- Any infinite-scroll feed

## Variant phrasings

### timeout only in some locales

Those locales have more content. The cap must be content-independent.

### screenshots differ run to run

Stub the feed data so captures are deterministic.

## Why it happens

Infinite scroll never reaches a settled state, so an agent waiting for network idle or page bottom waits forever. Bounding the scroll gives the agent a finish line.

## Edge cases

- Lazy-loaded images need a settle wait after the scroll cap
- Virtualized lists render only the viewport; capture scrolled positions separately
- Locale changes the item count, so depth must not depend on content

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_cOgWmUPsNI7GnhE5rPAEGg
