fix(enrich): нормализовать пунктуацию в поиске iTunes (St.Thomas → St Thomas)

Пунктуация без пробела (St.Thomas, feat.) ломала запрос к iTunes — обложка
существующего трека не находилась. Заменяем не-буквенно-цифровые символы на
пробел перед поиском.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
nk
2026-06-03 17:08:25 +03:00
parent 982c42cdf2
commit db09274060

View File

@@ -180,7 +180,13 @@ export class EnrichmentService {
genre: string | null;
} | null> {
try {
const term = encodeURIComponent(`${artist} ${song}`.trim());
// Пунктуация в названии («St.Thomas», «feat.») ломает поиск iTunes —
// заменяем все не-буквенно-цифровые символы на пробел и схлопываем.
const clean = `${artist} ${song}`
.replace(/[^\p{L}\p{N}]+/gu, ' ')
.replace(/\s+/g, ' ')
.trim();
const term = encodeURIComponent(clean);
const url = `https://itunes.apple.com/search?term=${term}&entity=song&limit=1`;
const res = await fetch(url, {
headers: { 'User-Agent': 'radiOLA/1.0 +https://radiola.app' },