Skip to content

Conversation

@HarleyBartles
Copy link
Contributor

@HarleyBartles HarleyBartles commented Oct 29, 2025

Overrides, Artwork Uploads, and Snapshot Caching for a Smarter Ownfoil Library

PR Summary

  • Adds end-to-end override management: admin-gated APIs, new DB table, and artwork handling let privileged users correct metadata for homebrew titles, translate names/descriptions, and rescue anything TitleDB can’t identify. Overrides layer on top of TitleDB without deleting upstream data, and automatic smart creation during identification gives unrecognized games sensible defaults before an admin reviews them.
  • Refreshes the shop experience: the override editor modal, artwork previews/uploads, improved default placeholder images, and redirect diagnostics ship alongside smarter pagination, card sizing, and placeholder handling. Browsing large libraries is smoother, and admins can tweak metadata directly from the UI with immediate feedback.
  • Introduces a cache subsystem covering library, overrides, and shop snapshots. Validators, hash-based ETags, and regen hooks ensure clients always see up-to-date metadata while keeping the index generation fast—even after rapid override churn.
  • Improves library processing internals: sorting now blends overrides and TitleDB fallbacks for deterministic ordering, identification paths avoid redundant rescans, organizer hooks handle watcher noise, and Titles/App creation handles missing FKs gracefully.
  • Hardens shared utilities: consistent Optional typing, normalized ID/date helpers, safe JSON persistence, auto-created asset directories, and better TitleID resolution combine to make the new flows robust.

Key Benefits

  • Homebrew and unrecognized titles render with accurate names, artwork, and metadata immediately after overrides are applied.
  • Localization and translation fixes can be rolled out via the UI without database surgery.
  • Caching keeps the shop fast while guaranteeing clients see current metadata right after edits.

Additional Improvements

  • Library sorting improved to ignore case in alphabetical sort and sort DLC's next to their base apps so card order matches user expectations.
  • Identification pipeline is leaner, unblocks organizer flows, and self-heals missing overrides.
  • Pagination and card rendering work better at scale, reducing client-side thrash on large collections.

@HarleyBartles HarleyBartles changed the title Feat. Overrides, Artwork Uploads, and Snapshot Caching for a Smarter Ownfoil Library Feat. Overrides, Artwork Uploads, and Snapshot Caching Oct 29, 2025
@HarleyBartles
Copy link
Contributor Author

Supercedes #250

@HarleyBartles
Copy link
Contributor Author

Closes #239

@HarleyBartles
Copy link
Contributor Author

Closes #158

@HarleyBartles
Copy link
Contributor Author

Closes #168

@HarleyBartles
Copy link
Contributor Author

Related to #112

@HarleyBartles
Copy link
Contributor Author

Related to #243

@HarleyBartles
Copy link
Contributor Author

Closes #253

@HarleyBartles
Copy link
Contributor Author

Supercedes #254

@HarleyBartles
Copy link
Contributor Author

Supercedes #247

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.

2 participants