From 52c8c3f69fc58033782e0fc5866d9e8edcdd9d00 Mon Sep 17 00:00:00 2001 From: nk Date: Thu, 4 Jun 2026 16:40:06 +0300 Subject: [PATCH] =?UTF-8?q?fix(enrich):=20=D0=B1=D1=8B=D1=81=D1=82=D1=80?= =?UTF-8?q?=D1=8B=D0=B9=20now-playing=20=D0=BF=D1=80=D0=BE=D1=85=D0=BE?= =?UTF-8?q?=D0=B4=20=E2=80=94=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20Dee?= =?UTF-8?q?zer=20(=D0=B1=D0=B5=D0=B7=20=D0=B7=D0=B0=D1=82=D1=8B=D0=BA?= =?UTF-8?q?=D0=B0=20iTunes)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit iTunes-фолбэк в coverFast с троттлингом 3.5с сериализовал проход — он не успевал за сменой треков, покрытие падало. Теперь быстрый проход = только Deezer (параллельно, без троттла). Промахи Deezer добирает фоновый enrichOne (iTunes через прокси с троттлингом). Co-Authored-By: Claude Opus 4.8 --- src/enrich/enrichment.service.ts | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/src/enrich/enrichment.service.ts b/src/enrich/enrichment.service.ts index 13ef44c..04a7f9b 100644 --- a/src/enrich/enrichment.service.ts +++ b/src/enrich/enrichment.service.ts @@ -143,23 +143,16 @@ export class EnrichmentService { } } - /** Только обложка для быстрого now-playing-прохода. Deezer первичен (высокий - * лимит, через DE-прокси отдаёт каталог), iTunes — фолбэк (жёстко троттлится). */ + /** Только обложка для быстрого now-playing-прохода — ТОЛЬКО Deezer (через + * DE-прокси, высокий лимит, параллельно). iTunes здесь НЕ дёргаем: его жёсткий + * троттлинг (3.5с) затыкал бы проход. Промахи Deezer добирает фоновый + * enrichOne (там iTunes через прокси с троттлингом). */ private async fetchCover( artist: string, song: string, ): Promise<{ coverUrl: string | null; genre: string | null; album: string | null } | null> { const dz = await this.fetchDeezerCover(artist, song); if (dz) return { coverUrl: dz, genre: null, album: null }; - try { - const cleaned = - `${this.stripNoise(artist)} ${this.stripNoise(song)}`.replace(/\s+/g, ' ').trim() || - `${artist} ${song}`; - const r = await this.itunesSearch(cleaned); - if (r?.coverUrl) return { coverUrl: r.coverUrl, genre: r.genre, album: r.album }; - } catch { - // iTunes 429/сеть — добёрём позже - } return null; }