Recover retained upscale entries from interrupted render cleanup
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 38/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- express, javascript, node.js
Línea de trabajo
Read server/services/musicVideo/renderCleanup.js and the pending-upscale regression first; trace how the cleanup journal and video history are serialized and published. Add recovery only for owned, present upscales, retaining journal records and bytes when writes fail or identity is uncertain. Done means the specified route or service tests cover restoration, retries, collisions, missing files, and ordinary cleanup.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
An interrupted older music-video render cleanup can leave an upscale in .music-video-render-cleanup.json after its history row was removed. The retained journal record still identifies the video, but the gallery no longer advertises it. The current cleanup fix preserves and reports such entries instead of deleting their bytes; it does not restore the missing history row.
Reproduction: seed a current final render and an upscale tagged with upscaledFrom, remove the upscale's history row while retaining its journal entry and video, then inspect getRenderCleanup. The pending record is retained with a recovery reason, while the gallery history omits it. See server/services/musicVideo/renderCleanup.js and its pending-upscale regression.
Decision
Recover an owned, still-present upscale from the existing journal into video history, using the journal as the durable source of evidence. Keep the journal until the restored history entry is durably committed. Recheck under the existing serialization and backup publication boundaries; refuse conflicting IDs or filenames and preserve every file and journal record when ownership or bytes are uncertain. Do not fabricate a row for a missing file or overwrite an existing row.
Acceptance criteria
- A pending upscale with an intact owned video and no conflicting history identity returns to the gallery with its original provenance and remains downloadable.
- A restart or write failure at either the history or journal boundary is retryable without dropping the only recovery record or deleting video bytes.
- Existing matching rows settle idempotently; ID/filename collisions and missing files are retained and reported clearly.
- Route or service-boundary tests cover restoration, interrupted publication, collision, and missing-byte cases, as well as ordinary obsolete-render cleanup.
Dispatch: heavy capability and high effort are appropriate because the change crosses durable journal, history serialization, and backup consistency boundaries.
- Lenguaje dominante
- JavaScript
- Estrellas
- 38
- Forks
- 32
- Merge medio
- 47 min
- PR fusionados (30 d)
- 993
Preparar el entorno
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 atomantic/PortOS
-
bug effort:high help wanted model:heavy plan planner:gpt-6-1-sol windows
Dificultad 5/5 Más de una semana Aptitud para principiantes 28/100
atomantic/PortOS#14035 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug effort:high model:heavy plan planner:gpt-6-1-sol
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
bug effort:high model:heavy plan
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
bug effort:xhigh model:heavy plan planner:gpt-6-1-terra
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
atomantic/PortOS#14016 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
bug effort:xhigh model:heavy plan planner:gpt-6-1-sol
Dificultad 5/5 Más de una semana Aptitud para principiantes 18/100
Los mantenedores suelen responder en 1 día
Todos los issues de atomantic/PortOS
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
swc-project/swc-next#1165 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
nhsuk/nhsuk-prototype-kit-package#439 ·
Los mantenedores suelen responder en 1 día
-
Add: &TV LogoAbiertocheck:passed logos:add
Dificultad 1/5 Menos de una hora Aptitud para principiantes 74/100
-
BUG: Appointment time renders blank and PM appointment slots miscalculate vertical position in CalendarScreenPosiblemente ocupada @aryanpatil-07 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
AOSSIE-Org/BabyNest#297 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Onboarding form: instructor radio never pre-selected "Yes" (permission vs permissions typo)Posiblemente ocupada @ThakuraAnki la tomó hoy. Abiertobug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
WikiEducationFoundation/WikiEduDashboard#7235 ·
Los mantenedores suelen responder en 1 día