Skip to content

feat(converto): backend integration for rom conversion and metadata extraction - #4337

Draft
DevYukine wants to merge 1 commit into
rommapp:masterfrom
DevYukine:feat/rom-converto-backend
Draft

DevYukine wants to merge 1 commit into
rommapp:masterfrom
DevYukine:feat/rom-converto-backend

Conversation

@DevYukine

@DevYukine DevYukine commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Description
Explain the changes or enhancements you are proposing with this pull request.

This is a draft PR. The core is in, but more will land here before it is ready to merge.

This adds an optional rom-converto backend integration, off by default and gated behind ROM_CONVERTO_ENABLED.

When enabled, scans run rom-converto info on supported platforms (3DS, NDS, PSP, Vita, PS1, PS2, PS3, GameCube, Wii, Wii U, Switch, Dreamcast, Saturn, Sega CD, Xbox, Xbox 360) and store the extracted title id, serial and version in new title_id columns on Rom and RomFile. The columns match the sigil branch schema so both can converge. During the scan, rom-converto runs before sigil: converto writes the title ids it finds, and sigil then only fills what converto left unset, trusting its values. Save-target guidance stays sigil's job.

Admins can also configure per-platform target formats in the new convertto config section. When that is set and download conversion is enabled, single-file downloads are served in the configured format (CIA decrypted, CHD, RVZ, ...) through a disk cache with TTL cleanup. Anything that fails, including oversized files, falls back to serving the original rom. A manual "Convert library" task can pre-warm the cache.

The Dockerfile installs a pinned, checksum-verified rom-converto v0.21.0 binary.

Disclosure
I am the author of rom-converto. I used GLM 5.3 for this but verified and reviewed the result before submitting.

Checklist
Please check all that apply.

  • I've tested the changes locally
  • I've updated relevant comments
  • I've assigned reviewers for this PR
  • I've added unit tests that cover the changes

Screenshots (if applicable)

Backend change only, no screenshots needed

@DevYukine
DevYukine force-pushed the feat/rom-converto-backend branch 2 times, most recently from f51c347 to 895f439 Compare September 6, 2026 00:13
@DevYukine
DevYukine force-pushed the feat/rom-converto-backend branch from 895f439 to d139f9c Compare September 6, 2026 00:19
@gantoine gantoine added the on-hold Pending further research or blocked by another issue label Sep 9, 2026
@gantoine
gantoine self-requested a review September 11, 2026 00:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

on-hold Pending further research or blocked by another issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants