From e1fd108f3a361bde6c5d06db0c7ed80799b173fa Mon Sep 17 00:00:00 2001 From: Worph Date: Sun, 25 Oct 2026 19:25:07 +0000 Subject: [PATCH] virtual path and NFO title fall back to parsedTitle, filename-parser's guess since the claims model --- packages/meta-sort-core/src/config/RenamingRule.ts | 3 ++- packages/meta-sort-core/src/logic/MetadataFormatRegistry.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/meta-sort-core/src/config/RenamingRule.ts b/packages/meta-sort-core/src/config/RenamingRule.ts index 5b92c13..2303f85 100644 --- a/packages/meta-sort-core/src/config/RenamingRule.ts +++ b/packages/meta-sort-core/src/config/RenamingRule.ts @@ -27,7 +27,8 @@ export function renamingRule(metamesh: Local, filepath?: string): string | null } // The display name — never the `titles/*` name set, which has no preferred member (METADATA_KEYS.md §3). - const title = metamesh.title || metamesh.originalTitle; + // `parsedTitle` is filename-parser's guess (claims model, D12): last resort. + const title = metamesh.title || metamesh.originalTitle || (metamesh as { parsedTitle?: string }).parsedTitle; if (!title) { if (metamesh.fileType !== "torrent") { //don't warn for torrent files because they don't always have a title (eg representing a folder of files) diff --git a/packages/meta-sort-core/src/logic/MetadataFormatRegistry.ts b/packages/meta-sort-core/src/logic/MetadataFormatRegistry.ts index 182c5ef..ce7e80c 100644 --- a/packages/meta-sort-core/src/logic/MetadataFormatRegistry.ts +++ b/packages/meta-sort-core/src/logic/MetadataFormatRegistry.ts @@ -87,7 +87,8 @@ export class JellyfinFormatHandler implements IMetadataFormatHandler { // Title: the display name. `titles/*` is an unordered name set with no // preferred member, so it is never the NFO title (METADATA_KEYS.md §3). - const title = metadata.title || metadata.originalTitle; + // `parsedTitle` is filename-parser's guess (claims model, D12): last resort. + const title = metadata.title || metadata.originalTitle || (metadata as { parsedTitle?: string }).parsedTitle; if (title) jellyfinFields.title = title; // IDs