Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

capture: 0 assets cataloged when the cookie banner click reloads the page

Aperta
#4,923 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@santhiprakash ci sta già lavorando.

Dal 3/10/2026.

  • #4949 di @santhiprakash — aperta

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
58/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
typescript
Ambito
cli, tooling

Direzione di ricerca

Start at the capture entry point used by npx hyperframes capture and trace captureScrollScreenshots, catalogAssets, and their page.evaluate calls. Reproduce with the command and a site whose consent click reloads the page, then compare the catalog and asset-download results across runs. Done means the reload no longer leaves cataloging with an empty page or the observed null error.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

On some sites hyperframes capture downloads no images at all. The JSON output has one warning:

"Asset catalog is empty — no images will be downloaded. The page may use non-standard image loading."

The images are plain <img src> tags, so that's not it. The page reloads in the middle of the capture.

Still happens on 0.8.113 (latest today), default flags, 5 runs on the same URL:

  • 2 runs: "Asset catalog is empty"
  • 1 run: capture failed with Cannot read properties of null (reading 'innerHTML'), which looks like the same reload hitting a different step
  • 1 run: 15 images but no logo
  • 1 run: everything, logo included

What I see (traced on 0.8.20, the consent click and the catalog step look the same in 0.8.113):

  1. captureScrollScreenshots clicks consent buttons before scrolling. On the site I tested, [class*="consent"] button matches the close button of the cookie dialog (an "acconsento" banner), and clicking it reloads the page.
  2. The next page.evaluate in the screenshot step throws because of the navigation. The error isn't a timeout, so it gets swallowed and the step returns nothing ("0 scroll screenshots captured").
  3. catalogAssets then runs on the reloading page. I added a probe before each step: 21 <img> right after navigation, 0 when the catalog runs (body scrollHeight 0), 20 again a few seconds later at "Extracting HTML & CSS".

extracted/page.html comes out complete, which made this confusing at first. Only the catalog sees the empty page.

On 0.8.20 it's worse: 0 of 5 runs catalog anything. It's a race, and on this site the reload usually wins.

This one line before progress("design", "Cataloging assets...") fixes the catalog for me on 0.8.20, 33 assets in 5 of 5 runs (I haven't patched 0.8.113):

await page1.waitForNetworkIdle({ idleTime: 500, timeout: 15e3 }).catch(() => {});

Waiting for the navigation right after the consent clicks would probably be cleaner. I haven't tried that.

A second thing I hit on the same site, possibly separate: with the default 120 s --capture-budget, core extraction sometimes uses the whole budget. The page has four videos, one of them 4K, and my guess is the video download eats it, but I didn't measure that. The assets phase then reports degraded with remainingMs: 0 and downloads nothing, even after the fix above. With the fix plus --capture-budget 300000, 0.8.20 got images and the logo in 3 of 3 runs. It might help to download images before videos, since images are small and the logo is often the thing people want.

Repro:

npx [email protected] capture --json --skip-vision -o out <url>

I can share the URL privately if that helps. It's a client's site.

Lingua principale
TypeScript
Stelle
54.1k
Fork
4.9k
Merge medio
7h 29m
PR unite (30g)
778

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di heygen-com/hyperframes

Tutte le issue di heygen-com/hyperframes

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.