Skip to content

fix(metadata): normalize accents and add fuzzy suffix matching for games - #200

Merged
RadicalMuffinMan merged 3 commits into
Moonfin-Client:masterfrom
mattsigal:feature/metadata-lookup-fix
Jul 22, 2026
Merged

fix(metadata): normalize accents and add fuzzy suffix matching for games#200
RadicalMuffinMan merged 3 commits into
Moonfin-Client:masterfrom
mattsigal:feature/metadata-lookup-fix

Conversation

@mattsigal

Copy link
Copy Markdown
Collaborator

Summary

This PR fixes issues resolving retro game metadata and box art due to title formatting (diacritics, suffix tags, and C# file extension-stripping).

Changes

  1. Accent Normalization: Normalized text strings to FormD and stripped non-spacing marks (accents/diacritics) in both LaunchBox and Libretro RDB services to ensure accented names (like Pokémon) successfully match clean ROM filenames (Pokemon).
  2. Fuzzy Suffix Fallback: Added partial prefix-matching with strict distance limits to handle regional and title suffix discrepancies (like House M.D. matching PAL-only House M.D. - The Official Game (Europe)).
  3. No-Intro Cover Art Resolution: Resolved exact database-matched No-Intro titles (including region/language parentheticals) when requesting cover art.
  4. C# Path Extension-Stripping Fix: Pre-stripped extensions using the full path before processing the thumbnail name to prevent Path.GetFileNameWithoutExtension from stripping dotted title portions (e.g. House M.D. -> House M).

- Add diacritic/accent normalization (FormD character filtering) in LaunchBox and Libretro RDB name normalization to correctly resolve accented titles (like Pokémon).
- Add fuzzy prefix-matching fallbacks in both matchers to handle title suffix discrepancies (such as regional PAL languages or subtitle suffixes).
- Resolve actual No-Intro database names (Rdb.Name) in GamesService thumbnail lookups to correctly fetch regional cover arts from Libretro.
- Fix C# Path extension-stripping bug by pre-stripping extensions using full paths instead of clean database names.
@github-actions

github-actions Bot commented Jul 20, 2026

Copy link
Copy Markdown

Build Successful

The plugin compiled successfully against .NET 8 / Jellyfin 10.10.0.

Property Value
Commit bac176b
Workflow Build #229

@mattsigal mattsigal self-assigned this Jul 20, 2026
@mattsigal mattsigal changed the title fix(metadata): normalize accents and add fuzzy suffix matching fix(metadata): normalize accents and add fuzzy suffix matching for games Jul 21, 2026
@RadicalMuffinMan
RadicalMuffinMan merged commit eca377c into Moonfin-Client:master Jul 22, 2026
1 check passed
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