Post-completion job actions #10

Merged
cheapnud merged 2 commits from d/post-job-action into master 2026-08-12 01:34:18 +00:00
Owner

Each job can now run an action when it finishes: move the output to a chosen folder (never overwrites, suffixes instead, and the job record follows the file) or show it in Explorer. Configured via a dropdown on the stepper source step with a folder picker and a pre-flight check.

Each job can now run an action when it finishes: move the output to a chosen folder (never overwrites, suffixes instead, and the job record follows the file) or show it in Explorer. Configured via a dropdown on the stepper source step with a folder picker and a pre-flight check.
add post-completion job actions: move output to folder or show in explorer
All checks were successful
Claude PR Review / AI Code Review (pull_request) Successful in 14s
Build & Test / Build and Test (pull_request) Successful in 24s
19d6af1a24

🤖 Claude AI Code Review

  1. Summary: Adds a post-completion action per job (move output with non-overwriting suffixing, or reveal in Explorer), wired through the model, DB schema check, stepper UI, and queue service.

  2. Code Quality
    Clean, well-scoped change with sensible best-effort error handling and a non-overwriting move strategy.

  3. Issues

🟡 RenderQueueService.cs — explorer.exe and the /select, argument are Windows-only. If the app is meant to run on Avalonia/desktop cross-platform, this silently fails (caught) on macOS/Linux. Consider platform-guarding or using the appropriate reveal mechanism per OS.

🟡 DatabaseInitializationService.cs — The schema check now selects PostAction, PostActionTarget, but the diff shows no migration adding those columns. If there's no automatic migration/recreation path, existing databases will fail the schema check on upgrade. Confirm the outdated-schema branch actually recreates/migrates the table.

🟢 RenderQueueService.cs — File.Move across volumes will throw if source and destination are on different drives (copy+delete needed). This is caught and logged, but the move silently won't happen. Consider File.Move(src, dst, overwrite:false) semantics still don't cross-volume-copy; a fallback copy may be desired.

  1. Verdict: REQUEST CHANGES
  • Confirm existing databases get the new columns via migration/recreation, otherwise upgrades break on the schema check.
  • Guard or abstract the Windows-only Explorer reveal for non-Windows platforms (or document Windows-only intent).

📊 Tokens: 4782 input + 575 output | 💰 Cost: ~$0.0383
Generated by Claude Opus 4.8 via Gitea Actions

## 🤖 Claude AI Code Review 1. **Summary**: Adds a post-completion action per job (move output with non-overwriting suffixing, or reveal in Explorer), wired through the model, DB schema check, stepper UI, and queue service. 2. **Code Quality** ⭐⭐⭐⭐☆ Clean, well-scoped change with sensible best-effort error handling and a non-overwriting move strategy. 3. **Issues** 🟡 RenderQueueService.cs — `explorer.exe` and the `/select,` argument are Windows-only. If the app is meant to run on Avalonia/desktop cross-platform, this silently fails (caught) on macOS/Linux. Consider platform-guarding or using the appropriate reveal mechanism per OS. 🟡 DatabaseInitializationService.cs — The schema check now selects `PostAction, PostActionTarget`, but the diff shows no migration adding those columns. If there's no automatic migration/recreation path, existing databases will fail the schema check on upgrade. Confirm the outdated-schema branch actually recreates/migrates the table. 🟢 RenderQueueService.cs — `File.Move` across volumes will throw if source and destination are on different drives (copy+delete needed). This is caught and logged, but the move silently won't happen. Consider `File.Move(src, dst, overwrite:false)` semantics still don't cross-volume-copy; a fallback copy may be desired. 4. **Verdict**: **REQUEST CHANGES** - Confirm existing databases get the new columns via migration/recreation, otherwise upgrades break on the schema check. - Guard or abstract the Windows-only Explorer reveal for non-Windows platforms (or document Windows-only intent). --- 📊 **Tokens**: 4782 input + 575 output | 💰 **Cost**: ~$0.0383 *Generated by Claude Opus 4.8 via Gitea Actions*
dispose the explorer process handle
All checks were successful
Claude PR Review / AI Code Review (pull_request) Successful in 17s
Build & Test / Build and Test (pull_request) Successful in 20s
540ad8fb74
cheapnud merged commit 2be0eb5479 into master 2026-08-12 01:34:18 +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!10
No description provided.