From 3dc0fe58b4b592036951c32111cf6cb714de0efd Mon Sep 17 00:00:00 2001 From: frane0 Date: Mon, 18 May 2026 14:13:10 +0300 Subject: [PATCH] fix(loopyLoop): update progress bar selectors to use data-testid Spotify's recent UI updates removed the legacy .playback-bar and .playback-progressbar-container classes, causing the extension to fail silently. This commit replaces those class selectors with the persistent data-testid="playback-progressbar" attribute to restore context menu and UI injection functionality. --- Extensions/loopyLoop.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Extensions/loopyLoop.js b/Extensions/loopyLoop.js index 6a56b52a82..31fb165f60 100644 --- a/Extensions/loopyLoop.js +++ b/Extensions/loopyLoop.js @@ -7,8 +7,7 @@ /// (function LoopyLoop() { - const playbackBar = document.querySelector(".playback-bar"); - const progressContainer = playbackBar?.querySelector(".playback-progressbar-container"); + const progressContainer = document.querySelector('[data-testid="playback-progressbar"]'); const rangeInput = progressContainer?.querySelector('input[type="range"]'); const bar = rangeInput?.closest("label")?.nextElementSibling; if (!(bar && Spicetify.Player)) { @@ -17,7 +16,7 @@ } function getBar() { - const pc = document.querySelector(".playback-progressbar-container"); + const pc = document.querySelector('[data-testid="playback-progressbar"]'); return pc?.querySelector('input[type="range"]')?.closest("label")?.nextElementSibling ?? null; } @@ -558,7 +557,7 @@ } // Progress bar area - const currentProgressContainer = document.querySelector(".playback-progressbar-container"); + const currentProgressContainer = document.querySelector('[data-testid="playback-progressbar"]'); if (!currentProgressContainer?.contains(target)) return; event.preventDefault(); event.stopPropagation();