From 983c4b1cdeaa273692419acd699896cfdeb14fc7 Mon Sep 17 00:00:00 2001 From: gumbarros Date: Mon, 3 Aug 2026 13:17:29 -0300 Subject: [PATCH] fix: delete YouTube Music playlists via direct API endpoint --- src/datasource/youtube/YouTubeMusicDataSource.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/datasource/youtube/YouTubeMusicDataSource.ts b/src/datasource/youtube/YouTubeMusicDataSource.ts index 07b2454..10bc587 100644 --- a/src/datasource/youtube/YouTubeMusicDataSource.ts +++ b/src/datasource/youtube/YouTubeMusicDataSource.ts @@ -3891,9 +3891,15 @@ export class YouTubeMusicDataSource extends DataSource { } const client = await this.getMusicClient(); - await client.playlist.delete(this.editablePlaylistId(playlist.id)); + const playlistId = this.editablePlaylistId(playlist.id); + // youtubei.js 17.0.1's playlist.delete() loses this endpoint's API path and throws + // "Expected an api_url" before sending a request, so execute the same mutation directly. + const response = await client.actions.execute("playlist/delete", { playlistId }); + if (!response.success) { + throw new Error(`Playlist deletion returned HTTP ${response.status_code}.`); + } await setCachedJson(this.getPlaylistTrackCacheKey(playlist.id), []); - logInternalInfo("YouTubeMusicDataSource.deletePlaylist", { playlistId: playlist.id }); + logInternalInfo("YouTubeMusicDataSource.deletePlaylist", { playlistId }); } /**