Stop littering source folders with generated .mlt files #12

Merged
cheapnud merged 2 commits from b/temp-mlt-cleanup into master 2026-08-13 00:01:14 +00:00
Owner

Shuffle/generate output now goes to an app temp folder (media paths are absolutized first, so it no longer needs to live beside the source project) and is deleted once its render job completes, dead-letters, is cancelled or cleared, with a startup sweep for crash leftovers. Also guards Entry.Duration against entries missing in/out attributes.

Shuffle/generate output now goes to an app temp folder (media paths are absolutized first, so it no longer needs to live beside the source project) and is deleted once its render job completes, dead-letters, is cancelled or cleared, with a startup sweep for crash leftovers. Also guards Entry.Duration against entries missing in/out attributes.
generated projects go to app temp and are deleted when their job finishes; guard Entry.Duration against missing in/out
All checks were successful
Claude PR Review / AI Code Review (pull_request) Successful in 16s
Build & Test / Build and Test (pull_request) Successful in 25s
5665aaf6a1

🤖 Claude AI Code Review

  1. Summary
    Moves generated .mlt output to an app temp folder with lifecycle-based cleanup and a startup sweep, and guards Entry.Duration against missing in/out attributes.

  2. Code Quality
    Clean refactor with well-scoped cleanup helper that safely restricts deletions to the app's own temp subfolder.

  3. Issues

🟢 RenderQueueService.cs — the startup sweep uses a fixed 3-day cutoff. A dead-lettered job whose file is older than 3 days but still retryable (per the DeadLetter comment) could have its source swept away, making manual retry fail. Low likelihood but the two mechanisms aren't fully reconciled.

  1. Verdict: APPROVE

Solid change; the dead-letter/sweep interaction is a minor edge case, not a blocker.


📊 Tokens: 6890 input + 306 output | 💰 Cost: ~$0.0421
Generated by Claude Opus 4.8 via Gitea Actions

## 🤖 Claude AI Code Review 1. **Summary** Moves generated `.mlt` output to an app temp folder with lifecycle-based cleanup and a startup sweep, and guards `Entry.Duration` against missing in/out attributes. 2. **Code Quality** ⭐⭐⭐⭐☆ Clean refactor with well-scoped cleanup helper that safely restricts deletions to the app's own temp subfolder. 3. **Issues** 🟢 RenderQueueService.cs — the startup sweep uses a fixed 3-day cutoff. A dead-lettered job whose file is older than 3 days but still retryable (per the DeadLetter comment) could have its source swept away, making manual retry fail. Low likelihood but the two mechanisms aren't fully reconciled. 4. **Verdict**: **APPROVE** Solid change; the dead-letter/sweep interaction is a minor edge case, not a blocker. --- 📊 **Tokens**: 6890 input + 306 output | 💰 **Cost**: ~$0.0421 *Generated by Claude Opus 4.8 via Gitea Actions*
keep the generated source for dead-lettered jobs so manual retry still works
All checks were successful
Claude PR Review / AI Code Review (pull_request) Successful in 22s
Build & Test / Build and Test (pull_request) Successful in 27s
cfb6d45f3a
cheapnud merged commit a3c6fa818b into master 2026-08-13 00:01:14 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
cheapnud/CheapShotcutRandomizer!12
No description provided.