v1.1.0-beta.012 - feat: add {IssueTitle} and {UniverseName} naming variables**
✨ New Features
- Added support for the {IssueTitle} variable to extract specific album/issue names (highly useful for European BD naming standards).
- Added support for the {UniverseName} variable to cleanly organize files and route top-level library folders.
- Exposed the new tags in the Admin Settings UI under the Media Naming Conventions section.
- Updated the UI live preview examples to showcase the new tags and accurately reflect Omnibus's default 2-digit issue numbering format.
🗄️ Database Updates
- Added universe to the Series and Issue models in the Prisma schema.
- Omnibus now securely stores the universe to the database during automated imports and watched folder syncs, ensuring that future manual bulk-renames will retain the universe formatting.
📡 Metadata Fetching & Embedding
- Metron API: Hooked up the Metron metadata provider to automatically fetch the universe field from Metron.Cloud and save it to the database during series syncs.
- ComicInfo.xml: Updated the XML parser to actively extract the tag during library imports, and updated the XML writer to embed the tag back into the file when generating new metadata.
🧹 Polish & Edge Cases
- Implemented a smart regex cleanup chain across all renaming tools to automatically collapse dangling hyphens, consecutive hyphens, and double spaces (e.g., smartly formatting Batman - - #1.cbz down to Batman - #1.cbz when a variable like {IssueTitle} is blank).
🛠️ Under the Hood
- Synchronized the variable replacements and regex cleanup logic across all file and folder-handling pipelines:
- importer.ts (Direct download processing)
- queue.ts (Watched folder sync job)
- rename/route.ts (Manual bulk rename API)
- rename/preview/route.ts (Settings live preview API)
- issue/link/route.ts (Manual unmatched file linking API)
Resolves #157