capture: 0 assets cataloged when the cookie banner click reloads the page
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 58/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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):
captureScrollScreenshotsclicks consent buttons before scrolling. On the site I tested,[class*="consent"] buttonmatches the close button of the cookie dialog (an "acconsento" banner), and clicking it reloads the page.- The next
page.evaluatein 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"). catalogAssetsthen 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.
- Lenguaje dominante
- TypeScript
- Estrellas
- 54.1k
- Forks
- 4.9k
- Merge medio
- 7 h 18 min
- PR fusionados (30 d)
- 784
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de heygen-com/hyperframes
-
Docs: clarify that "Enable auto-update" is only available in the Claude Code terminal (CLI) /plugin UIPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
heygen-com/hyperframes#5027 ·
Los mantenedores suelen responder en 1 día
-
fix(producer): propagate useGpu to HDR layered streaming encoderPosiblemente ocupada @Monster-GM la tomó hace 2 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 87/100
heygen-com/hyperframes#5002 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
heygen-com/hyperframes#4702 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Studio catalog prompt editor has no accessible namePosiblemente ocupada @lorenzozanee la tomó hace 12 días. Abiertobug difficulty/easy triage/ready
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
heygen-com/hyperframes#4384 ·
Los mantenedores suelen responder en 1 día
-
lint: validate composition variables declared on supported root elementsQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abiertobug difficulty/easy triage/ready
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
heygen-com/hyperframes#4383 ·
Los mantenedores suelen responder en 1 día
Todos los issues de heygen-com/hyperframes
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
umbraco/Umbraco-CMS-MCP-Dev#512 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
wimpysworld/sidra#290 ·
Los mantenedores suelen responder en 1 día
-
defuFn invokes function values for inherited default propertiesPosiblemente ocupada @xiehuanyi la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
feature request good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
TabularisDB/tabularis#853 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 Menos de una hora Aptitud para principiantes 85/100
capricorn86/happy-dom#2474 ·
Los mantenedores suelen responder en 2 días