From ae2da5c6a0abda4f4788c2681d94ea60f96682f2 Mon Sep 17 00:00:00 2001 From: Peter Savchenko Date: Fri, 21 Nov 2025 20:46:16 +0300 Subject: [PATCH] fix(yandex-music): improve track pattern --- src/services.ts | 4 ++-- test/services.ts | 11 ++++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/services.ts b/src/services.ts index ed8b967d..85842083 100644 --- a/src/services.ts +++ b/src/services.ts @@ -113,12 +113,12 @@ const SERVICES: ServicesConfigType = { width: 540, }, 'yandex-music-track': { - regex: /https?:\/\/music\.yandex\.ru\/album\/([0-9]*)\/track\/([0-9]*)/, + regex: /https?:\/\/music\.yandex\.ru\/track\/([0-9]*)(?:\?.*)?/, embedUrl: 'https://music.yandex.ru/iframe/#track/<%= remote_id %>/', html: '', height: 100, width: 540, - id: (ids) => ids.join('/'), + id: (ids) => ids[0], }, 'yandex-music-playlist': { regex: diff --git a/test/services.ts b/test/services.ts index fa2a817f..2e2e7cc8 100644 --- a/test/services.ts +++ b/test/services.ts @@ -270,12 +270,12 @@ describe('Services Regexps', () => { const urls = [ { - source: 'https://music.yandex.ru/album/5643859/track/42662275', - embed: 'https://music.yandex.ru/iframe/#track/5643859/42662275/', + source: 'https://music.yandex.ru/track/49235718?utm_source=web&utm_medium=copy_link', + embed: 'https://music.yandex.ru/iframe/#track/49235718/', }, { - source: 'https://music.yandex.ru/album/5393158/track/41249158', - embed: 'https://music.yandex.ru/iframe/#track/5393158/41249158/', + source: 'https://music.yandex.ru/track/42662275', + embed: 'https://music.yandex.ru/iframe/#track/42662275/', }, ]; @@ -496,10 +496,11 @@ describe('Services Regexps', () => { 'twitch-video': 'https://www.twitch.tv/videos/315468440', 'yandex-music-album': 'https://music.yandex.ru/album/5643859', 'yandex-music-track': - 'https://music.yandex.ru/album/5643859/track/42662275', + 'https://music.yandex.ru/track/42662275', 'yandex-music-playlist': 'https://music.yandex.ru/users/yamusic-personal/playlists/25098905', codepen: 'https://codepen.io/Rikkokiri/pen/RYBrwG', + }; Object.entries(services).forEach(([name, url]) => {