Use inspected manga title for metadata lookup

This commit is contained in:
Codex committed 2026-10-11 09:07:42 +02:00
1 parent da40d73f02
commit a500ea7c3f
2 files changed
+51

No files matched your search

+13
View File
@@ -549,6 +549,7 @@ class ScraperService {
...found.info, id: crypto.randomUUID(), seriesId: found.info.id, kind: input.inspect === true ? 'inspection' : 'download',
title: String(input.title || found.info.title).trim().slice(0, 200),
metadataSearch: String(input.metadataSearch || input.title || found.info.title).trim().slice(0, 200),
metadataSearchExplicit: !!String(input.metadataSearch || '').trim(),
scope, scopeLabel: scopeLabel(scope), existingPolicy: policy,
...(input.libraryMangaId ? { libraryMangaId: String(input.libraryMangaId) } : {}),
status: 'queued', order: this.state.queue.length, added: new Date().toISOString(),
@@ -605,6 +606,18 @@ class ScraperService {
if (action === 'confirm') {
if (item.status !== 'ready' || item.kind !== 'inspection') throw new Error('Inspect the source first');
item.confirmedSourceTitle = item.sourceTitle;
// Prefer the inspected canonical title when metadata lookup was derived
// from the URL/title fallback. Keep an explicitly supplied search term.
const canonicalTitle = String(item.sourceTitle || '').trim();
const search = String(item.metadataSearch || '').trim();
const seriesId = String(item.seriesId || '').trim();
const fallbackSearch = !item.metadataSearchExplicit
&& (!search || search === seriesId || search === String(item.title || '').trim());
if (canonicalTitle && fallbackSearch) {
item.metadataSearch = canonicalTitle;
item.metadataSearchExplicit = true;
}
if (canonicalTitle && String(item.title || '') === String(item.seriesId || '')) item.title = canonicalTitle;
item.kind = 'download';
} else {
if (!['unavailable', 'quarantined', 'complete', 'ready'].includes(item.status)) throw new Error('Only inactive finished, unavailable or quarantined jobs can be inspected again');