Recover retained upscale entries from interrupted render cleanup
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 38/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- express, javascript, node.js
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- JavaScript
- Star
- 38
- Fork
- 32
- Merge trung bình
- 47 phút
- Pull request đã merge (30 ngày)
- 993
Chuẩn bị môi trường
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của atomantic/PortOS
-
bug effort:high help wanted model:heavy plan planner:gpt-6-1-sol windows
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 28/100
atomantic/PortOS#14035 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug effort:high model:heavy plan planner:gpt-6-1-sol
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug effort:high model:heavy plan
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug effort:xhigh model:heavy plan planner:gpt-6-1-terra
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
atomantic/PortOS#14016 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug effort:xhigh model:heavy plan planner:gpt-6-1-sol
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 18/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của atomantic/PortOS
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Graphify-Labs/graphify#4860 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
CommandCodeAI/command-code#1088 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
CanadaHonk/porffor#426 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
RIT-Software-Engineering/RIT-SE-Senior-Project#546 ·
Maintainer thường phản hồi trong vòng 1 ngày