feat: Unknown titles & metadata override management#250
feat: Unknown titles & metadata override management#250HarleyBartles wants to merge 53 commits intoa1ex4:developfrom
Conversation
|
Let me know if you require any changes, I'm happy to make them. Or feel free to tweak as you see fit. |
update auth decorators for consistent access control
…ate app entries in the db.
…(Ocarina of Time Master Quest - 010049903038A112) and for dlc which for whatever reason are without bases.
…ded server etag caching on override endpoint for better performance when data is unchanged.
|
Ok, I think I'm finally finished messing with this. I moved the overridden title id metadata resolution to the overrides api (no longer polluting the titles api) and added server caching (same as library.json) and etag caching so that the overrides json is not even returned if the browser already cached the same version. Let me know if you'd prefer a clean PR with one commit, I can do that if it's easier. Or I could probably separate a few things out into their own standalone PR's if you think there's too much in this one. If I spot anything wrong I'll push to this branch, otherwise this PR is ready for review. |
5d7b8b1 to
a0db464
Compare
…ng when it goes out of scope.
|
Closing this PR for now. I'll re-create it with a much cleaner commit history. |
|
Superceded by #262 |



App Overrides and Metadata Editing Overhaul
This pull request introduces a comprehensive upgrade to Ownfoil’s metadata system, focusing on user-driven metadata editing and improved DLC recognition.
Admin users can now edit, correct, and personalize title metadata directly from the main Library view — including for titles that are not recognized by the global TitleDB.
Shop users then benefit from the customized metadata in Ownfoil's web UI and in the Tinfoil shop.
Key Features
App Overrides
AppOverridesdatabase model and API (/api/overrides) to store custom metadata for individual apps (base or DLC).Override Isolation
All edits apply strictly to override data only.
The underlying TitleDB entries and scanned library metadata remain untouched.
This ensures user modifications are non-destructive and can be safely reverted at any time.
Title ID Correction and DLC Metadata Resolution
Override Editor UI
btn-successwhen active).Instant Feedback
Smarter Filtering
Tinfoil Integration
titledbnode in the shop feed.Artwork Handling Improvements
Technical Improvements
titles.py,library.py, andshop.pyfor cleaner separation between library generation and override application.get_shop_files()to focus purely on file listing.window.OverridesAPI.Real-World Benefits
Migration Notes
app_overridestable:Known Gaps
Summary
This update transforms Ownfoil into an editable metadata manager with per-app (base or DLC) overrides.
It resolves longstanding DLC metadata issues, ensures accurate Title ID handling, and gives admins direct, real-time control over library information.
Ownfoil instances can now fully correct, localize, and manage their own metadata without reliance on external TitleDB entries.