Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

File preview keeps a stale failure when revisiting a repaired media file

Abierto
#4,386 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@lorenzozanee ya está trabajando en esto.

Desde el 24/9/2026.

  • #4397 de @lorenzozanee — abierto

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
72/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
typescript

Línea de trabajo

Read packages/studio/AGENTS.md, then inspect the failure state in packages/studio/src/components/MediaPreview.tsx and its caller in StudioLeftPanels.tsx. Run bun run --cwd packages/studio test and add focused component regression coverage for file and project changes. Done means repaired previews retry correctly, persistent failures show one error without automatic retries, and the file-switching flow is verified in Studio.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug difficulty/easy triage/ready

The file preview remembers a failed media path after the user visits another file. Returning to the original file can display the old error without making a new request, even after the file becomes available.

Reproduction and evidence

Verified against origin/main 86fa10ced4297bfd9f4fe67b6767afae7a07fd3c on September 23, 2026. The relevant component and its caller are unchanged from the browser probe.

Keep one MediaPreview mounted and change its props as the file panel does:

  1. Render project test, file broken.png; serve its preview URL with HTTP 404. The error panel appears.
  2. Make broken.png available, then switch to healthy.png, served as a valid image. Its image loads successfully.
  3. Switch back to broken.png. The old error appears immediately and no new image request is made.

A Chrome probe using the actual component and intercepted HTTP responses recorded only:

/api/projects/test/preview/broken.png
/api/projects/test/preview/healthy.png

The returned view still said Couldn't load this file — it may be missing or corrupt. Changing the project prop to second while retaining broken.png also retained the error without requesting the second project's image.

This is a browser component reproduction. StudioLeftPanels renders MediaPreview without a file key, which supports the same-file-panel switching path. A complete Studio navigation session has not been run; the cross-project symptom is only asserted for a retained component instance, not for shell navigation that remounts it.

Scope

Tie media failure state to the current preview lifecycle/source identity so visiting another file or changing projects does not carry a previous error into a fresh preview. Preserve useful errors for genuinely unavailable images, videos, and audio. Do not add background polling or automatic retry loops.

Acceptance criteria
  • Failed image A → healthy image B → repaired A attempts to load A again and displays it successfully.
  • Failed image A → binary file B → repaired A also retries A on returning.
  • Changing project with the same file path does not inherit the old project's failure when the component remains mounted.
  • A file that still fails continues to show the existing error panel without repeated automatic requests.
  • Include focused component regression coverage and verify the file-switching flow in Studio before considering the issue resolved.
Code pointers and validation

Difficulty: easy — localized state identity and reset behavior with a small regression fixture. Before starting, check current assignments and linked PRs. Open UI migration PRs #3625, #3626, #3774 and #3776 contain only image/video border-radius class changes in this file. PR #4370's file-tree and missing-composition work does not change this component or its caller.

Reviewer/mentor is being arranged. Comment with your intended approach before starting so ownership can be coordinated; this issue is not yet a newcomer invitation.

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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de heygen-com/hyperframes

Todos los issues de heygen-com/hyperframes

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.