Skip to content

fix: Auto media detection, Starlette compat, and burn error reporting#3

Draft
demrich wants to merge 1 commit into
WB2024:mainfrom
demrich:fix/auto-media-detection-and-burn-errors
Draft

fix: Auto media detection, Starlette compat, and burn error reporting#3
demrich wants to merge 1 commit into
WB2024:mainfrom
demrich:fix/auto-media-detection-and-burn-errors

Conversation

@demrich

@demrich demrich commented Apr 1, 2026

Copy link
Copy Markdown

Summary

  • Auto media detection: When media_type=auto, the burner backend now probes the drive via udevadm to detect inserted media (CD vs DVD vs BD) and selects the correct backend (wodim for CDs, growisofs for DVDs). Previously it always defaulted to growisofs, which fails on CD-R media with exit code 252.
  • Starlette 1.0.0 compatibility: Added a compatibility shim for the TemplateResponse API change (positional args reordered), fixing an unhashable type: 'dict' crash on every page load.
  • Burn error reporting: The web UI now checks the burn result status and displays the actual error message on failure, instead of unconditionally showing "burned successfully".
  • Dry run default: Changed dryRun default from true to false in the burn workflow UI so burns execute by default.

Test plan

  • Verify web UI loads without 500 errors on Starlette 1.0.0
  • Insert a blank CD-R with media_type=auto and confirm wodim is selected (check logs for "AUTO media detection")
  • Insert a blank DVD-R with media_type=auto and confirm growisofs is selected
  • Trigger a burn failure and verify the UI displays the error instead of "burned successfully"
  • Verify dry run mode still works when explicitly toggled on

- Probe drive with udevadm when media_type=AUTO to select correct burner
  backend (wodim for CDs, growisofs for DVDs) instead of always defaulting
  to growisofs which fails on CD-R media
- Add Starlette 1.0.0 TemplateResponse compatibility shim to fix
  unhashable dict crash on web UI load
- Fix burn_completed event in web UI to check result status and display
  actual error instead of always reporting success
- Change dryRun default to false so burns execute by default

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@demrich demrich marked this pull request as draft April 1, 2026 03:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant